WO2016042870A1 - 情報処理装置、方法、およびプログラム - Google Patents

情報処理装置、方法、およびプログラム Download PDF

Info

Publication number
WO2016042870A1
WO2016042870A1 PCT/JP2015/067473 JP2015067473W WO2016042870A1 WO 2016042870 A1 WO2016042870 A1 WO 2016042870A1 JP 2015067473 W JP2015067473 W JP 2015067473W WO 2016042870 A1 WO2016042870 A1 WO 2016042870A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
code generation
information
parameter
information processing
Prior art date
Application number
PCT/JP2015/067473
Other languages
English (en)
French (fr)
Inventor
太地 岩田
輝広 渡邊
大串 靖憲
芦浦 敦
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2016548594A priority Critical patent/JP6197960B2/ja
Publication of WO2016042870A1 publication Critical patent/WO2016042870A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems

Definitions

  • the present invention relates to an information processing apparatus, method, and program.
  • a technique for displaying a QR (Quick Response) code (registered trademark) on a screen of a terminal device such as a mobile phone or a smartphone and causing a barcode scanner to read the code is generally widely used in various fields.
  • the image processing apparatus described in Patent Literature 1 is a computer device that realizes a barcode generation library that generates a barcode image from text data or binary data and causes a printer to print the barcode image.
  • This barcode generation library stacks multiple different barcodes that have been corrected with different correction values for the width (thickness) of barcode elements (black bars and white spaces) in the barcode height direction. To generate one barcode. Even if the black bar width (thickness) of the printed bar code becomes narrower or thicker due to the performance of the printer, it will be out of the bar code standard. Will meet the standard and increase the possibility of being read by a scanner.
  • standard barcode settings barcode height, barcode position, data held by barcode, designation of barcode standard, etc.
  • barcode correction A barcode is generated using a parameter set including correction settings that define processing, and is printed by a printer.
  • a barcode generated using a predetermined barcode setting is corrected with different correction values to generate a plurality of barcodes.
  • the designation of the ratio of the width of the black bar or white bar of the barcode is flexibly changed.
  • the present invention has been made in view of the above circumstances, and an object thereof is to provide an information processing apparatus, method, and program for displaying a code image with high reading accuracy on a screen.
  • the first aspect relates to an information processing apparatus.
  • the information processing apparatus is Information acquisition means for acquiring code system information and source information to be encoded based on the code system; Parameter acquisition means for acquiring parameters for code generation corresponding to the specifications of the display unit and the code system; Code generation means for generating a code image in which the source information is encoded using the acquired code system information and the code generation parameters; Display control means for displaying the code image on the display unit by dot-by-dot display or integer multiples; Have
  • the second aspect relates to an information processing method executed by at least one computer.
  • the information processing method according to the second aspect is as follows: Information processing device Get the code system information and source information to be coded based on the code system, Get the code generation parameters corresponding to the specifications of the display unit and the code system, Using the acquired code system information and the code generation parameter, generate a code image in which the source information is encoded, Displaying the code image on the display unit by dot-by-dot display or integer multiple display; Including that.
  • a program for causing at least one computer to execute the method of the second aspect or a computer-readable recording medium recording such a program. May be.
  • This recording medium includes a non-transitory tangible medium.
  • the computer program includes computer program code that, when executed by a computer, causes the computer to perform the information processing method on the information processing apparatus.
  • a plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.
  • the plurality of procedures of the method and computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.
  • an information processing apparatus, method, and program for displaying a code image with high reading accuracy can be provided.
  • FIG. 1 is a functional block diagram showing a logical configuration of the information processing apparatus 100 according to the embodiment of the present invention.
  • the information processing apparatus 100 according to the present embodiment has a function of causing an arbitrary code image read by a scanner to be displayed on the display unit 108.
  • the information processing apparatus 100 acquires the code system information 112 and the information acquisition unit 102 that acquires the source information 114 to be encoded based on the code system, and the code generation parameters 116 corresponding to the specifications and the code system of the display unit 108
  • the code acquisition unit 104 that generates the code image 118 in which the source information 114 is encoded using the acquired code system information 112 and the code generation parameter 116, and the code image 118 is displayed.
  • a display control unit 110 that displays dot-by-dot display or integer multiple display in the unit 108.
  • the information processing apparatus of the present invention is a computer having a function of displaying the code image 118 on the screen of the display unit 108.
  • the display unit 108 may be included in the information processing apparatus or externally attached to the information processing apparatus. It may be done.
  • the information processing apparatus will be described using a smartphone as an example, but is not limited thereto.
  • various terminal devices such as a mobile phone, a tablet terminal, a PHS (Personal Handyphone System), a personal computer, a PDA (Personal Digital Assistant), a game machine, and a store terminal can be included.
  • the display unit 108 is not particularly limited in type, such as a liquid crystal display, an organic EL (ElctroLuminescence) display, and an inorganic EL display.
  • a liquid crystal display will be described as an example.
  • the information processing apparatus of the present invention can employ both a configuration in which all functions are realized by the terminal device and a configuration in which the terminal device and the server share the functions. The configuration including the server will be described later.
  • the configuration of parts not related to the essence of the present invention is omitted and is not shown.
  • each function of each unit of the information processing apparatus 100 is realized by the computer executing each processing operation corresponding to each procedure of the computer program. For example, by installing an application that implements the information processing apparatus 100 of the present embodiment (hereinafter also referred to as “program” to distinguish it from other applications) on a terminal device such as a smartphone, and executing the program on the smartphone, Each function of each unit of the information processing apparatus 100 can be realized.
  • program an application that implements the information processing apparatus 100 of the present embodiment
  • the server may realize at least some of the functions of at least some of the units of each unit of the information processing apparatus 100. What is necessary is just to determine the optimal function sharing according to the performance (CPU and memory capacity) of the terminal device and the server, the load situation, and the like. Furthermore, the program of the information processing apparatus 100 is executed by being incorporated in another application having a function of displaying a code image as a program module or executed by being called from another application as a library. There may be.
  • the source information 114 that is the source encoded by the information processing apparatus 100 is not particularly limited, and the code image 118 generated based on the source information 114 is assumed to be used in various scenes.
  • a barcode image showing library user information is displayed on the screen on the smartphone and presented to the staff, read by a barcode scanner, and approved for use. It can be carried out.
  • a barcode image indicating payment slip information can be displayed on a screen on a smartphone and presented to a store clerk, and read by a barcode scanner to perform a convenience store payment procedure.
  • a bar code image is displayed on the screen by a user performing a predetermined operation on a terminal device installed in a facility or a store instead of a smartphone owned by the user, and is displayed on the screen by a bar code scanner. It is also possible to perform a predetermined procedure.
  • the source information 114 is encoded into a one-dimensional barcode (also referred to as “one-dimensional symbol” or “linear symbol”) and displayed on the display unit 108
  • the configuration of the present invention is also called a two-dimensional code (“two-dimensional symbol”, “stacked two-dimensional code”, “matrix two-dimensional code (for example, (QR (Quick Response) code (registered trademark))”. ) Etc., and can also be applied to the display of the code image 118 generated by another encoding method.
  • the one-dimensional barcode is simply referred to as “barcode”.
  • Bar code represents a sequence of characters (numbers, symbols, letters, etc.) by combining a plurality of bars and spaces (each of which is called an “element” or “module”) having different widths.
  • GS1-128 former UCC / EAN-128
  • Code128, Codabar NW-7
  • the code system is not limited to these, and can be applied to barcodes of various code systems.
  • the information acquisition unit 102 acquires code system information 112 and source information 114 to be encoded based on the code system.
  • the code system information 112 is not particularly limited as long as the information acquisition unit 102 can identify the code system of the barcode to be displayed. For example, identification information may be determined in advance for the code system that can be displayed by the information processing apparatus 100 according to the present embodiment, and the identification information indicating the code system specified by another application that uses the information processing apparatus 100 may be acquired. . Alternatively, when the code image generated by the information processing apparatus 100 is specialized for a certain code system, a predetermined code system or a code system specified by the server can be used.
  • the source information 114 is information that is the source of the barcode, and the data format such as text data and binary data is not particularly limited.
  • the type of characters that can be encoded (numbers, symbols, characters, etc.), the number of digits, or the specifications of information items are determined for each code system, so the source information 114 according to the code system is acquired. Is done. Note that the content of the source information 114 is not related to the essence of the present invention, so a detailed description is omitted.
  • the information acquisition unit 102 can acquire the code system information 112 and the source information 114 from, for example, another application that requests display of the code image 118. Or you may download and acquire from a website. Or the form which reads and acquires the information memorize
  • storage device an internal memory or storage, or an external recording medium
  • acquisition means that the device itself obtains data or information stored in another device or storage medium (active acquisition), for example, requests or inquires of another device. Receiving data, accessing and reading out other devices and storage media, etc., and inputting data or information output from other devices into the device (passive acquisition), for example, distribution (or , Transmission, push notification, etc.) and / or receiving received data or information. It also includes selecting and acquiring from received data or information, or selecting and receiving distributed data or information.
  • the information acquisition method by the information acquisition unit 102 may be a form that receives information by being called from another application or website that requests display of a code image, or another application that has information of source information 114 that is desired to be displayed, There may be a form in which an information provision request is made to the website, and there is no particular limitation.
  • the parameter acquisition unit 104 acquires a code generation parameter 116 corresponding to the specification and code system of the display unit 108.
  • the code generation parameter 116 is information serving as a condition for generating a code, and the number of pixels (number of dots) used to draw one width of the minimum module (black bar or white bar) constituting the barcode. At least. In the case of a two-dimensional barcode such as a QR code (registered trademark), the code generation parameter 116 is the number of pixels (number of dots) in the vertical and horizontal directions used to draw the minimum module (one cell). . Further, when the code system is NW7, the code generation parameter 116 may include a ratio of a thick element to a thin element (herein referred to as “NW ratio”).
  • the code generation parameter 116 may further include designation of whether to display the barcode with the longitudinal direction of the screen of the terminal device vertical, or display the barcode with the longitudinal direction horizontal.
  • the code generation parameter 116 indicates that the NW ratio is 2.0, 2.5, or 3.0, the number of dots of the minimum module width (for example, 1 (dot / mod ), 2 (dot / mod), 3 (dot / mod)).
  • the number of dots of the minimum module width of the code generation parameter 116 is not limited to 3 (dots / mod), but 4 (dot / mod), 5 (dot / mod),. . .
  • Various values can be taken according to the number of pixels of the screen and the resolution.
  • the code generation parameter 116 has a value that satisfies the barcode generation conditions (minimum module width, barcode width, etc.) according to the specifications of the display unit 108 (particularly, the screen width and resolution) and the code system. Is set.
  • the minimum module width that a barcode can be read by a scanner may depend on the reading resolution of the scanner. For example, when the minimum module width is 0.15 mm or more, it is assumed that the barcode can be read with a certain accuracy by the scanner.
  • the minimum module may be drawn with one dot.
  • the width of the screen is 640 pixels and the resolution is (326 ppi)
  • the width of one dot is about 0.077 mm, which is lower than the resolution of the scanner. Therefore, the minimum module width should be 2 dots or more.
  • the reading accuracy improves as the minimum module width is as wide as possible. Therefore, it is better that the number of dots for drawing the minimum module is larger.
  • the barcode when the horizontal length of the barcode exceeds 60 mm including the left and right margins, the barcode may not be read.
  • the number of dots of the minimum module width is limited to a range in which the total barcode width does not exceed 60 mm.
  • the code generation parameter 116 is determined in a range that satisfies both the minimum module width that can be read by the scanner and the total width of the generated barcode.
  • the parameter acquisition unit 104 may acquire a plurality of code generation parameters 116.
  • the code generation parameter 116 may be set in advance as a theoretical value, or, as will be described later, an actual reading result may be statistically corrected to be an optimum value.
  • the code generation parameter 116 corresponding to the model of the terminal device or the model number of the display unit 108 and the code system is set. You may get it.
  • FIG. 5 shows a barcode configuration for each code system in a terminal device model or a screen specification (screen size (number of pixels in at least one of vertical and horizontal) and screen resolution (ppi) range).
  • the verification result of the reading accuracy of the generated code image 118 is shown for each condition (for example, the minimum module width and NW ratio).
  • ⁇ (circle) can be read with high accuracy
  • ⁇ (triangle) can be read, but it does not meet the prescribed criteria
  • -(N / A: Not Applicable) is generated. Indicates those that cannot be adopted because they do not meet the prescribed criteria.
  • those which cannot be read are indicated by x (cross mark).
  • the predetermined reference is, for example, that the barcode width is 60 mm or less, the minimum module width of the barcode is 0.15 mm or more, and the like.
  • Such verification may be performed by actually generating a barcode and displaying it on each terminal device and performing a reading test with a scanner, or calculating a theoretically calculated minimum module width and barcode width of the barcode, and It may be theoretically performed from the specification information such as the reading resolution of the scanner.
  • FIG. 15A shows a configuration image of a barcode.
  • FIG. 15B shows the number of pixels (number of dots) in each part when the minimum module width is X (dots) (X is a natural number).
  • the minimum module width is X
  • the number of significant digits is n
  • n is an even number
  • the CODE 128 style is Code Set C. Note that the Data part is one character and two digits (00 to 99).
  • W is a natural number and the total barcode width is indicated by the number of dots. In this case, if the minimum module width is 1 (dot / mod), the total barcode width is 308 dots. Therefore, when the screen has a vertical width of 540 pixels or less, the minimum module width is only 1 (dot / mod) and 2 (dots / mod) cannot be displayed. .
  • FIG. 16A shows a configuration image of a barcode.
  • FIG. 16B shows the number of pixels (number of dots) in each part when the minimum module width is X (dots).
  • the width of the thick bar is r ⁇ X
  • the NW ratio ratio of the thick bar width to the thin bar width
  • the gap between characters is c ( c ⁇ X)
  • n is the number of significant digits (here, for simplicity, only numbers).
  • Total barcode width W 4 (3r + 4) X + n (2r + 5) X + c (n + 1)
  • c X (the minimum width of the gap between characters (indicated by ⁇ (black triangle) in FIG. 16A))
  • the following is obtained.
  • Total barcode width W 4 (3r + 4) X + n (2r + 5)
  • a set of code generation parameters 116 corresponding to the terminal device model or screen specifications can be determined for each code system. For example, in this terminal device, when the code system 118 generates a code image 118 with CODE 128 (16 digits), the code generation unit 106 sets the minimum module width 2 (dot / mod) as the code generation parameter 116. Acquire at least one of 3 (dot / mod).
  • the display unit 108 As the specifications of the display unit 108, it is only necessary to know at least the number of pixels of the width of the screen in the horizontal direction when the longitudinal direction of the smartphone is vertical and the screen resolution (ppi). This is because a suitable code generation parameter 116 is determined by the number of pixels of the screen width and the screen resolution. On the other hand, the number of pixels of the screen width and the screen resolution are determined by the model of the terminal device and the model number of the display unit 108. Therefore, the corresponding code generation parameter 116 may be acquired from information on the model name (product name, etc.) of the terminal device and the model number (product name, etc.) of the display unit 108.
  • the information related to the specifications of the display unit 108 may be calculated or acquired from information held by the terminal device itself.
  • the parameter acquisition unit 104 notifies the server of its model or information on the screen of the display unit 108, acquires the corresponding code generation parameter 116 from the server, or selects the corresponding model from the website.
  • the corresponding code generation parameter 116 may be downloaded.
  • the number of pixels of the screen width and the screen resolution may be calculated as information related to the specifications of the display unit 108.
  • the number of pixels and the screen resolution of the screen width are the screen size (number of inches), the number of pixels (the number of pixels in at least one of horizontal and vertical of the screen, or the total number of pixels), the aspect ratio, or the screen resolution (ppi ) And the like regarding the specifications of the display unit 108.
  • the parameter acquisition unit 104 may obtain the code generation parameter 116 based on the code system and the specification of the display unit 108 acquired from information held by the terminal device itself.
  • the code system can be acquired from the code system information 112 acquired by the information acquisition unit 102.
  • the code generation parameter 116 may be stored in a storage medium readable by the terminal device, may be acquired from a server, or may be downloaded from a website.
  • the code generation unit 106 uses the code system information 112 and the code generation parameter 116 to generate a code image 118 in which the source information 114 is encoded.
  • the code generation unit 106 of the present embodiment holds information on the configuration content of the barcode for each code system.
  • the code generation unit 106 encodes the source information 114 using the information on the configuration content of the barcode.
  • the barcode generation method is not particularly limited and is not related to the essence of the present invention, and thus detailed description thereof is omitted.
  • predetermined restriction conditions may be defined for the code image 118 according to the barcode standard and the performance of the barcode scanner.
  • the minimum module width (black bar or white bar) of the barcode must be a predetermined size (0.15 nm) or more, the width of the entire barcode (including the margin) must be within a predetermined size (60 mm),
  • the code generation unit 106 generates a code image 118 so as to satisfy these constraint conditions.
  • the display control unit 110 displays the code image 118 on the display unit 108 by dot-by-dot display or integer multiple display.
  • the display control unit 110 preferably performs control such as changing the setting of the display unit 108 so that the reading accuracy of the barcode scanner is improved as much as possible.
  • the control of maximizing the brightness setting of the screen of the display unit 108 or canceling the setting of the view blind function for preventing peeping on the screen may be performed.
  • the display control unit 110 may change the setting automatically, or a message prompting the user to change the setting may be output (displayed or output by voice), and the user may manually change the setting.
  • the dot-by-dot display is one of methods for displaying an image on a display, and indicates that one pixel of image information is displayed in correspondence with one dot on a display screen. That is, the image information is displayed at the same magnification as it is without adding processing such as enlargement or reduction.
  • Integer multiple display is one of the methods for displaying an image on a display and refers to displaying one pixel of image information in correspondence with an integer multiple dot on the display screen.
  • the aspect ratio is enlarged without changing. Further, enlargement processing that is not an integral multiple such as 1.5 is not performed. The reason will be described below.
  • FIG. 2 is a diagram for explaining a bar code display method.
  • FIG. 2A is a diagram illustrating a barcode when dot-by-dot display is performed.
  • FIG. 2B is a diagram showing a barcode when a display that is not an integral multiple is performed.
  • FIG. 2C is an enlarged view of a barcode when a display that is not an integral multiple is performed.
  • the bar code in the case of integer multiple display, can express a black bar and a white bar in units of pixels (dots) on the screen.
  • one pixel of the screen is composed of three color filters of R (red), G (green), and B (blue).
  • R red
  • G green
  • B blue
  • the bar code when the display is not an integral multiple display, the bar code cannot express a black bar and a white bar in pixel units of the screen.
  • a black bar is expressed by 1.5 dots, for example, P22 and P23 in FIG. 2C take RGB values between black and white, as shown in FIG.
  • “smearing” occurs around the black bar (the portion indicated by hatching). For this reason, there is a possibility that the reading accuracy by the scanner is lowered. Therefore, in the present invention, the display unit 108 displays the code image 118 in dot-by-dot display or integer multiple display.
  • the display control unit 110 is provided as a standard function of a user interface of a touch panel type display such as the smartphone 10, and performs control for prohibiting acceptance of pinch-out and pinch-in operations, which are operations for enlarging or reducing the screen display. It is preferred to do so.
  • the display control unit 110 may control the screen display to be enlarged or reduced by an integer multiple.
  • FIG. 3 is a block diagram illustrating an example of a hardware configuration of the smartphone 10 that implements the information processing apparatus 100 according to the embodiment of the present invention.
  • a smartphone 10 (computer) in FIG. 3 includes a CPU 12, a memory 14, a program 50 that realizes the components of the information processing apparatus 100 in FIG. 1 loaded in the memory 14, and a storage unit such as an internal storage 16 that stores the program 50. And a communication interface (communication unit 18).
  • Each component of the information processing apparatus 100 of this embodiment of FIG. 1 is implement
  • FIG. 1 and the functional block diagram in each embodiment described below show logical blocks of functional units, not configurations of hardware units.
  • the smartphone 10 includes a CPU 12, a memory 14, an internal storage 16, a communication unit 18, an operation unit 22, an operation reception unit 24, a display unit 26, and a display. And a control unit 28.
  • the configuration of parts not related to the essence of the present invention is omitted and is not shown.
  • the CPU 12 is connected to each element of the smartphone 10 via the bus 40 and controls the entire smartphone 10 together with each element.
  • the memory 14 includes a program (OS (Operating System), application, etc.) for operating the smartphone 10, an area in which various setting data used when these programs operate, and a program for operating the programs. And a work area.
  • OS Operating System
  • application etc.
  • the internal storage 16 stores a program 50 for realizing the information processing apparatus of the present invention, and various user data such as other applications, mails, documents, images, music, and moving images.
  • an external storage for example, a recording medium such as an SD (Secure Digital) memory card), a USB (Universal Serial Bus) memory, or an HDD (Hard Disk
  • the smartphone 10 may be provided with a mechanism (connecting means and reading / writing means) that enables access to the drive)).
  • the communication unit 18 is connected to a mobile phone communication network using a mobile phone communication system such as 3G (3rd Generation) or LTE (Long Term Evolution), or wireless such as a wireless local area network (LAN), infrared, or Bluetooth. Connect to a network such as the Internet by communication.
  • a mobile phone communication system such as 3G (3rd Generation) or LTE (Long Term Evolution), or wireless such as a wireless local area network (LAN), infrared, or Bluetooth.
  • LAN wireless local area network
  • Bluetooth Bluetooth
  • the smartphone 10 may have a plurality of communication control units corresponding to a plurality of different communication methods.
  • the communication unit 18 is configured to perform wireless communication via the antenna 20, but is not limited thereto, and may be configured to perform wired communication, and is at least one of wireless and wired Communicate using one communication method.
  • the communication unit 18 can be used to communicate with the server.
  • the operation unit 22 includes operation keys, operation buttons, switches, a jog dial, a touch pad, and the like.
  • the operation reception unit 24 receives an operation of the operation unit 22 by the user and notifies the CPU 12 of the operation.
  • the display unit 26 includes a liquid crystal display, an organic EL (ElectroLuminescence) display, an LED (Light Emitting Diode) display, and the like.
  • the display control unit 28 displays various screens on the display unit 26 in accordance with instructions from the CPU 12.
  • the smartphone 10 may include a touch panel 30 in which a part of the operation unit 22 and the display unit 26 are integrated.
  • the display unit 26 corresponds to the display unit 108 in FIG.
  • the computer program 50 acquires the code system information 112 and the source information 114 to be encoded based on the code system in the computer (CPU 12 of the smartphone 10) for realizing the information processing apparatus 100.
  • Source information 114 is encoded using the procedure for obtaining the code generation parameter 116 corresponding to the specification and the code system of the display unit 108, the acquired code system information 112 and the code generation parameter 116. It is described that a procedure for generating the code image 118 and a procedure for displaying the code image 118 on the display unit 108 by dot-by-dot display or integer multiple display are executed.
  • the computer program 50 of this embodiment may be recorded on a computer-readable recording medium.
  • the recording medium is not particularly limited, and various forms can be considered.
  • the program 50 may be loaded from the recording medium into the computer memory 14 or may be downloaded to the computer via the network and loaded into the memory 14.
  • the recording medium for recording the computer program 50 includes a medium that can be used by a non-transitory tangible computer (the CPU 12 of the smartphone 10), and a program code that can be read by the computer is embedded in the medium.
  • the computer program is executed on the computer, the computer is caused to execute the following information processing method for realizing the information processing apparatus 100.
  • FIG. 4 is a flowchart illustrating an example of the operation of the information processing apparatus 100 according to the present embodiment.
  • the information processing method according to the embodiment of the present invention is an information processing method of the information processing apparatus 100, and is an information processing method executed by a computer (CPU 12 of the smartphone 10) that implements the information processing apparatus 100.
  • the information processing apparatus 100 acquires the code system information 112 and the source information 114 to be encoded based on the code system (step S101), and corresponds to the specification and code system of the display unit 108.
  • the code generation parameter 116 to be acquired is acquired (step S103), and the code image 118 in which the source information 114 is encoded is generated using the acquired code system information 112 and the code generation parameter 116 (step S105).
  • the code image 118 is displayed on the display unit 108 by dot-by-dot display or integer multiple display (step S107).
  • the information acquisition unit 102 acquires the code system information 112 and the source information 114 to be encoded based on the code system (step S101).
  • the code system information 112 and the source information 114 are acquired from another application.
  • the code system information 112 may be designated in advance by the application, and the source information 114 may be acquired from the application every time a barcode generation request is made. A plurality may be acquired from the application at once.
  • the parameter acquisition unit 104 acquires a code generation parameter 116 corresponding to the specification and code system of the display unit 108 (step S103).
  • the parameter acquisition unit 104 collectively acquires a set of code generation parameters 116 corresponding to the specifications of the display unit 108 of the terminal device, including the barcode configuration conditions for each code system, and stores them in the memory 14 or the internal storage 16. You may remember it.
  • the parameter acquisition unit 104 may select a parameter (barcode configuration condition) corresponding to the code system. For example, when the screen width of the terminal device is 320 (pixels) and the code system is NW7 and 16 digits, the parameter acquisition unit 104 has at least the NW ratio 3.0 and the minimum module as the corresponding code generation parameter 116. Get width 1 (dot / mod). Further, the parameter acquisition unit 104 may acquire an NW ratio of 2.0 and a minimum module width of 1 (dot / mod) as the code generation parameter.
  • the timing of acquiring the code generation parameter 116 in step S103 is not particularly limited. For example, when the program is installed in the terminal device (after), or when the code generation parameter 116 is updated on the server (after).
  • the terminal device When the terminal device generates the code image 118 (previous), when requested by the user, when accessing the website and requesting downloading, when requested by the server or terminal device periodically, etc. Conceivable.
  • the code generation unit 106 uses the acquired code system information 112 and the code generation parameters 116 to code the source information 114 based on the barcode configuration information of the corresponding code system
  • An image 118 is generated (step S105). That is, the code information 118 is generated from the source information 114 with NW7 16 digits, an NW ratio of 3.0, and a minimum module width of 1 (dot / mod).
  • the display unit 108 displays the code image 118 on the display unit 108 in a dot-by-dot manner (step S107).
  • step S105 When the minimum module width 2 (dots / mod) or 3 (dots / mod) is acquired as the code generation parameter 116 in step S103, dot-by-dot display is performed by the following two methods. Or an integer multiple display can be realized. (1) In step S105, the code image 118 is generated in an integer multiple according to the parameters, and in step S107, the code image 118 is displayed at the same magnification. (2) In step S105, the code image 118 is generated at the same magnification, and in step S107, the code image 118 is displayed as an integer multiple.
  • the parameter acquisition unit 104 acquires the code generation parameters 116 corresponding to the specifications and the code system of the display unit 108, and the code generation unit 106. Generates the code image 118 from the source information 114 using the code system information 112 and the code generation parameter 116. Then, the display control unit 110 displays the code image 118 on the display unit 108 by dot-by-dot display or integer multiple display.
  • the code image 118 can be generated and displayed using the optimal code generation parameter 116 suitable for the specification of the display unit 108 and according to the code system. It is not necessary to use a code generation parameter 116 such that the barcode element is blurred, the minimum module width is 0.15 mm or less, or the barcode width exceeds 60 mm. As a result, the reading accuracy of the generated barcode is improved.
  • Modification 1 of the first embodiment Modification 1 of the first embodiment will be described below.
  • the information processing apparatus of this embodiment is different from the information processing apparatus 100 of the above embodiment by selecting one parameter from a plurality of candidates for the code generation parameter 116 according to the priority given to each candidate, The difference is that an image 118 is generated.
  • the information processing apparatus of the present embodiment has the same configuration as the information processing apparatus 100 of FIG. 1, and will be described with reference to FIG.
  • the parameter acquisition unit 104 selects at least one code generation parameter 116 from among a plurality of code generation parameters 116 candidates according to the priority assigned to each candidate.
  • the code generation unit 106 generates a code image 118 using the selected code generation parameter 116.
  • the display control unit 110 selects a code image 118 generated using at least one code generation parameter 116 selected according to the priority order from among a plurality of candidates for the code generation parameters 116 according to the priority order. May be displayed.
  • the code generation parameter 116 when a barcode of the code system NW7 (16 digits) is generated, the code generation parameter 116 includes an NW ratio of 2.0 and 1 of two candidates of the minimum module width (dot / mod) and 2 (dot / mod) are acquired by the parameter acquisition unit 104. It is assumed that the numerical values shown next to the symbols ⁇ (circle) and ⁇ (triangle) in FIG. 6 indicate the priority order.
  • the code generation parameter 116 includes an NW ratio 2.0 of the first priority and a minimum module width 2 (dot / mod), an NW ratio 2.0 of the second priority and a minimum module width 1 (dot / mod). mod), the third-ranked NW ratio is 2.5 and the minimum module width is 2 (dot / mod).
  • the parameter acquisition unit 104 is, for example, (NW ratio 2.0, 2 (dot / mod)), (NW ratio 2.0, 1 (dot / mod)), (NW ratio 2.5, 2 (dot / mod).
  • the three code generation parameters 116 are acquired in order.
  • the plurality of parameters may be acquired in descending order of priority.
  • NW ratio 2.0, 2 (dot / mod) 2, NW ratio 2.0, 1 (dot / mod)
  • 3 NW ratio 2.5, 2 (dot / mod)
  • the barcode in FIG. 7A is generated using the code generation parameter 116 with the first priority
  • the barcode in FIG. 7B is for code generation with the second priority. It was generated using the parameter 116.
  • the plurality of barcodes generated in this way may be displayed sequentially or collectively.
  • the display control unit 110 sequentially displays a plurality of code images 118 in order of priority.
  • the display switching control of a plurality of images may be manually switched according to a user instruction, or may be automatically switched at a predetermined time interval.
  • Manual image switching is performed by pressing an arrow button displayed on the screen, a send (return) button, a numeric icon or a link for designating an image, or an operation of the operation unit 22 such as an operation button or dial of the smartphone 10. It may be performed by accepting or may be performed by accepting a screen operation such as swiping or tapping the screen of the smartphone 10, and is not particularly limited.
  • the display control unit 110 collectively displays at least a plurality of code images 118 generated by the code generation unit 106 using the plurality of candidate code generation parameters 116 on the display unit 108.
  • FIG. 8A is an example in which two code images 118 generated by the two candidate code generation parameters 116 in the above example are displayed side by side on one screen.
  • FIG. 8B shows an example in which two code images 118 generated with two code generation parameters 116 having different bar code display directions are displayed side by side on one screen.
  • a barcode 150 generated with a minimum module width of 2 (dot / mod) is displayed above, and a barcode 152 generated with a minimum module width of 1 (dot / mod) is displayed below. It is displayed.
  • FIG. 8 (b) two barcodes with different barcode display directions are displayed.
  • a barcode 154 generated with a minimum module width of 1 (dot / mod) is displayed in the horizontal direction when the longitudinal direction of the terminal device is vertical (hereinafter referred to as “vertical position”), and the minimum module is displayed below.
  • a barcode 156 generated with a width of 3 (dot / mod) is displayed.
  • one pixel of the screen is composed of three color filters of R (red), G (green), and B (blue). These three RGB filters may be arranged in the same column for each pixel in the vertical direction of the vertical position.
  • the reading direction of the scanner is a direction that crosses the three RGB filters, and thus the barcode 154 is likely to be read.
  • the reading direction of the scanner is a direction that does not cross the three RGB filters, and there is a possibility that only a part of RGB is read. . For this reason, there is a possibility that the reading accuracy is lowered.
  • the barcode 156 is displayed in the vertical direction of the vertical position, since the shape of the screen is longer in the vertical direction, the total width of the barcode 156 can be made longer than in the horizontal direction. Therefore, the minimum module width of the barcode 156 can be made larger than that of the barcode 154. From this point, the reading accuracy of the scanner may be improved.
  • the parameter acquisition unit 104 selects a plurality of candidate code generation parameters 116 according to the priority order, so that the code generation unit 106 has a high priority order. Using the code generation parameter 116, a code image 118 with high reading accuracy can be generated. With this configuration, since the code generation parameter 116 having a high priority can be used, the reading accuracy of the scanner is improved.
  • FIG. 9 is a functional block diagram logically showing the configuration of the information processing apparatus 120 of this embodiment.
  • the information processing device 120 in FIG. 9 includes an information acquisition unit 102, a parameter acquisition unit 104, a code generation unit 106, and a display control unit 110 similar to those of the information processing device 100 in the above embodiment in FIG. Further, a determination unit 122 and a recording unit 124 are provided. Moreover, this embodiment can also be combined with the structure of the said deformation
  • the information processing apparatus 120 includes a determination unit 122 that determines whether or not the code image 118 displayed by the display control unit 110 has been successfully read by a scanner (not illustrated), and the determination result by the determination unit 122. Recording in association with the code generation parameter 116 used to generate the code image 118 or changing the priority assigned to the code generation parameter 116 based on the determination result by the determination unit 122 Unit 124.
  • the parameter acquisition unit 104 reselects the next priority code generation parameter when the determination unit 122 determines that reading has failed.
  • the code generation unit 106 regenerates a code image using the reselected code generation parameter 116.
  • FIG. 10 is a diagram illustrating an example of a display screen of the information processing apparatus 120 according to the present embodiment.
  • the screen 130 includes a completion button 132 and a button 134 that is difficult to read.
  • the determination unit 122 determines that reading by the scanner has failed.
  • the recording unit 124 may record the determination result in association with the code generation parameter 116 or may change the priority given to the code generation parameter 116 to be lowered.
  • the display control unit 110 displays the next priority barcode on the screen 130.
  • the determination unit 122 determines that reading by the scanner has succeeded. Then, the determination unit 122 may record the determination result in association with the code generation parameter 116, or may change the priority to be given to the code generation parameter 116. Then, the barcode display is ended, or the next source information 114 is accepted.
  • the screen 140 includes a previous button 142, a next button 144, and a completion button 146.
  • the determination unit 122 determines that reading by the scanner has failed.
  • the recording unit 124 may record the determination result in association with the code generation parameter 116 or may change the priority given to the code generation parameter 116 to be lowered.
  • the display control unit 110 displays a barcode generated on the screen 130 using the code generation parameter 116 with the next lower priority. Note that when the operation of the button 142 by the user is accepted, a bar code generated using the code generation parameter 116 with the next higher priority is displayed.
  • the user If the reading is successful, the user operates the completion button 146. By receiving the operation of the completion button 146, the determination unit 122 determines that reading by the scanner has been successful. Then, the determination unit 122 may record the determination result in association with the code generation parameter 116, or may change the priority to be given to the code generation parameter 116. Then, the barcode display is ended, or the next source information 114 is accepted.
  • the determination unit 122 determines whether reading by the scanner is successful, and the recording unit 124 records the determination result in association with the code generation parameter 116.
  • the recording unit 124 changes the priority assigned to the code generation parameter 116.
  • FIG. 11 is a schematic block diagram showing an example of the configuration of the information processing system according to the embodiment of the present invention.
  • the information processing system 1 includes a server 200 and terminal devices 220 connected to the server 200 via the network 3 (in the figure, three terminal devices 220a, 220b, and 220c are shown. But not limited to this).
  • the server 200 causes each terminal device 220 to download the program 50 of the present invention and also download a set of code generation parameters 116.
  • the servers from which the program 50 and the code generation parameter 116 are distributed need not be the same server.
  • the program 50 of the present invention includes not only a form downloaded to the terminal device 220 alone, but also a form incorporated into another application and downloaded.
  • the timing of downloading the code generation parameter 116 can be considered variously as described above.
  • a set of code generation parameters 116 of at least a part of the code system corresponding to the model of the terminal device 220 may be downloaded together.
  • the server 200 requests and downloads the code generation parameter 116 corresponding to the model and code system of the terminal device 220, and downloads it. Also good.
  • FIG. 12 is a functional block diagram logically showing the configuration of the server 200 according to the embodiment of the present invention.
  • the server 200 of this embodiment includes at least a parameter transmission unit 202, and may further include a reading result acquisition unit 204 and a priority order update unit 206.
  • the server 200 may be configured to include the parameter storage unit 208, or the server 200 may access the parameter storage unit 208 included in the external device.
  • the parameter storage unit 208 stores the code generation parameter 116 for each model of the terminal device 220 and for each code system.
  • the parameter transmission unit 202 receives information on at least one of the model and the code system from the terminal device 220, refers to the parameter storage unit 208, and transmits the code generation parameter 116 corresponding to the received information to the terminal device 220. To do.
  • the parameter storage unit 208 stores the priority of the code generation parameter 116 in association with the code generation parameter 116 for each code system.
  • a reading result acquisition unit (determination result acquisition unit) 204 acquires a determination result as to whether or not the code generation parameter 116 has been successfully read by the scanner.
  • the determination result may be acquired from the terminal device 220 or may be acquired by an input by the administrator of the server 200 or the developer of the program 80 of the present invention, such as a verification result.
  • the priority order update unit 206 updates the priority order associated with the code generation parameter 116 based on the obtained determination result.
  • the parameter transmission unit 202 assigns a priority to each code generation parameter 116 and transmits it.
  • the priority order update unit 206 may update the priority order based on statistical values of a plurality of determination results acquired from the plurality of terminal devices 220 by the read result acquisition unit 204.
  • FIG. 13 is a block diagram illustrating a configuration example of a computer 60 that implements the server 200 of the present embodiment.
  • the computer 60 includes a CPU (Central Processing Unit) 62, a memory 64, a program 80 that realizes the components shown in FIG. 12 loaded in the memory 64, a storage 66 such as a hard disk that stores the program 80, and a network connection interface (communication).
  • the memory 64, the storage 66, the I / O 68, and the communication I / F 70 are connected to each other via a bus 69, and the entire server 200 is controlled by the CPU 62 together with each element.
  • FIG. 12 is realized by an arbitrary combination of the hardware and software of the computer 60 in FIG. It will be understood by those skilled in the art that there are various modifications to the implementation method and apparatus.
  • the functional block diagram of FIG. 12 showing the server 200 shows a block of logical functional units, not a configuration of hardware units.
  • the CPU 62 of the computer 60 in FIG. 13 reads out the program 80 stored in the storage 66 to the memory 64 and executes it, whereby each function of each unit of the server 200 in FIG. 12 can be realized.
  • FIG. 14 is a flowchart illustrating an example of the operation of the information processing system according to this embodiment.
  • the information processing method according to the embodiment of the present invention is an information processing method of an information processing device (server 200 and terminal device 220), and is a computer (for example, computer 60 in FIG. It is the information processing method performed by the smartphone 10) of FIG.
  • the information acquisition unit 102 acquires the code system information 112 and the source information 114 (step S201). Then, the parameter acquisition unit 104 transmits its model information and code system to the server 200 (step S203). In the server 200, the parameter transmission unit 202 receives the model information and the code system information from the terminal device 220 (step S205). Then, the parameter transmission unit 202 transmits the specification of the display unit 108 specified from the received model information and the code generation parameter 116 corresponding to the code system to the terminal device 220 (step S207).
  • the code generation unit 106 sets 1 to i (step S211), and uses the code system information and the code generation parameter 116 with the highest priority to generate a code image from the source information 114. 118 is generated (step S213).
  • the display control unit 110 displays the code image 118 generated on the display unit 108 by dot-by-dot display or integer multiple display (step S215). At this time, it is assumed that the screen of FIG.
  • step S21 the user causes the code image 118 displayed on the terminal device 220 to be read by the scanner.
  • i is incremented (step S219), the process returns to step S213, and the code generation parameter 116 of the next priority is selected.
  • the generated code image 118 is displayed on the display unit 108 and is read by the scanner.
  • the recording unit 124 transmits a determination result indicating that the reading is successful to the server 200 (step S221).
  • the reading result acquisition unit 204 receives the determination result from the terminal device 220 (step S223). Then, the priority order update unit 206 updates the priority order of the code generation parameter 116 based on the determination result (step S225).
  • the terminal device 220 acquires the code generation parameter 116 corresponding to the model and code system of the terminal device 220 from the server 200, generates a barcode, and Can be displayed.
  • information regarding the reading result by the scanner can be transmitted to the server 200.
  • Procedure to obtain code system information and source information to be coded based on the code system The procedure for obtaining the parameters for code generation corresponding to the specifications of the display unit and the code system, A procedure for generating a code image in which the source information is encoded using the acquired code system information and the code generation parameter; Procedure for displaying the code image on the display unit by dot-by-dot display or integer multiple display, A program for running 2.
  • a step of generating the code image using the selected code generation parameter when generating the code image For causing a computer to execute: 1.
  • the program described in. 3. A procedure for determining whether the displayed code image is successfully read by a scanner; The determination result in the determination procedure is recorded in association with the code generation parameter used to generate the code image, or based on the determination result in the determination procedure, the code generation parameter To change the priority given, A procedure for re-selecting a parameter for code generation of the next priority when it is determined that reading has failed by the determination procedure when acquiring the parameter; A procedure for re-generating the code image using the re-selected parameters for code generation when generating the code image; 2 for causing the computer to execute 2.
  • the program described in. 5. A procedure for calculating the parameter for generating the code based on the specification of the display unit and the code system when obtaining the parameter; For causing a computer to execute: 1. To 4. The program as described in any one. 6).
  • the information indicating the model and the code system information are transmitted to a server that manages the code generation parameter, the specification of the display unit specified from the model and the server, and the specification
  • a procedure for receiving the code generation parameters corresponding to the code system A procedure for generating the code image using the code generation parameter received from the server; For causing a computer to execute: 1. To 5.
  • Information processing device Get the code system information and source information to be coded based on the code system, Get the code generation parameters corresponding to the specifications of the display unit and the code system, Using the acquired code system information and the code generation parameter, generate a code image in which the source information is encoded, Displaying the code image on the display unit by dot-by-dot display or integer multiple display; Information processing method of information processing apparatus. 8).
  • the information processing apparatus is When obtaining the parameters, at least one code generation parameter is selected from a plurality of code generation parameter candidates according to the priority given to each candidate, Generating the code image using the selected code generation parameters; 7). An information processing method for the information processing apparatus described in 1. 9.
  • the information processing apparatus is Determine whether the displayed code image is successfully read by a scanner, The determination result is recorded in association with the code generation parameter used to generate the code image, or the priority assigned to the code generation parameter is changed based on the determination result. , When obtaining the parameter, if it is determined that reading by the scanner has failed, reselect the parameter for code generation of the next priority, Regenerate the code image using the reselected parameters for code generation; 8).
  • An information processing method for the information processing apparatus described in 1. 10 The information processing apparatus is Displaying at least a plurality of code images generated by using the code generation parameters of the plurality of candidates collectively on the display unit; 8). Or 9. An information processing method for the information processing apparatus described in 1. 11.
  • the information processing apparatus is When obtaining the parameters, the code generation parameters are calculated based on the specifications of the display unit and the code system. 7). To 10. The information processing method of the information processing apparatus as described in any one. 12 The information processing apparatus is When acquiring the parameter, the information indicating the model and the code system information are transmitted to a server that manages the code generation parameter, the specification of the display unit specified from the model and the server, and the specification Receiving the code generation parameters corresponding to the code system; Generating the code image using the code generation parameters received from the server; 7). To 11. The information processing method of the information processing apparatus as described in any one.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Facsimiles In General (AREA)

Abstract

 情報処理装置(100)は、コード体系情報(112)とそのコード体系に基づいてコード化するソース情報(114)を取得する情報取得部(102)と、表示部(108)の仕様およびコード体系に対応するコード生成用パラメータ(116)を取得するパラメータ取得部(104)と、取得されたコード体系情報(112)およびコード生成用パラメータ(116)を使用して、ソース情報(114)がコード化されたコード画像(118)を生成するコード生成部(106)と、コード画像(118)を表示部(108)にドットバイドット表示または整数倍表示する表示制御部(110)と、を備える。

Description

情報処理装置、方法、およびプログラム
 本発明は、情報処理装置、方法、およびプログラムに関する。
 携帯電話やスマートフォン等の端末装置の画面にQR(Quick Response)コード(登録商標)を表示し、バーコードスキャナに読み取らせる技術は、様々な分野で一般的に広く利用されている。
 特許文献1に記載の画像処理装置は、テキストデータやバイナリデータからバーコード画像を生成し、プリンタに印刷させるバーコード生成ライブラリを実現するコンピュータ装置である。このバーコード生成ライブラリは、バーコードのエレメント(黒バーや白スペース)の幅(太さ)を異なる複数の補正値でそれぞれ補正処理した複数の異なるバーコードを、バーコードの高さ方向に積み重ねて1つのバーコードとして生成する。プリンタの性能によって、印刷されたバーコードの黒バーの幅(太さ)が細くなったり太くなったりしてバーコードの規格から外れてしまうような場合でも、補正された複数のバーコードのどれかが規格に適合し、スキャナで読み取れる可能性が高まる。
 特許文献1に記載の技術は、バーコード生成ライブラリによって生成されたバーコードを印刷した場合に、プリンタの性能によってバーコードの黒バーの幅(太さ)が細くなったり太くなったりしてしまい、バーコードスキャナで読み取れなくなってしまうという不具合を解消している。
特開2012-63897号公報
 上述した特許文献1に記載の技術においては、バーコードの標準的な設定(バーコードの高さ、バーコード位置、バーコードが保持するデータ、バーコード規格の指定等)と、バーコードの補正処理を規定する補正設定とを含むパラメータセットを用いて、バーコードを生成し、プリンタで印刷する。すなわち、予め決まったバーコードの設定を用いて生成されるバーコードを、異なる補正値で補正処理して複数のバーコードを生成することを想定しているが、バーコードの設定自体の指定、たとえば、バーコードの黒バーや白バーの幅の比の指定を柔軟に変更すること等は想定されていない。
 一方、1次元バーコードに関して、携帯電話やスマートフォン等の端末装置のディスプレイ画面にバーコードを表示し、表示されたバーコードをスキャナで精度よく読み取らせる装置は、その読み取り精度の低さから、未だ実用化されていないのが現状である。
 本発明の発明者らは、画面に表示される様々なコード体系のバーコードのエレメント(黒バーや白スペース)の幅等の指定を、画面のサイズ(インチ数または縦横のピクセル数)や解像度(ppi:pixels per inch)等の仕様とコード体系の組み合わせに応じて柔軟に変更することで、表示される様々なコード体系のバーコードがそれぞれ精度よく読み取れるようになることを発見した。
 本発明は上記事情に鑑みてなされたものであり、その目的とするところは、読み取り精度のよいコード画像を画面に表示する情報処理装置、方法、およびプログラムを提供することにある。
 本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。
 第一の側面は、情報処理装置に関する。
 第一の側面に係る情報処理装置は、
 コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する情報取得手段と、
 表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得するパラメータ取得手段と、
 取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成するコード生成手段と、
 前記コード画像を前記表示部にドットバイドット表示または整数倍表示する表示制御手段と、
を有する。
 第二の側面は、少なくとも1つのコンピュータにより実行される情報処理方法に関する。
 第二の側面に係る情報処理方法は、
 情報処理装置が、
 コード体系情報とそのコード体系に基づいてコード化するソース情報を取得し、
 表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得し、
 取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成し、
 前記コード画像を前記表示部にドットバイドット表示または整数倍表示する、
ことを含む。
 なお、本発明の他の側面としては、上記第二の側面の方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
 このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、情報処理装置上で、その情報処理方法を実施させるコンピュータプログラムコードを含む。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
 また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
 さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
 上記各側面によれば、読み取り精度のよいコード画像を表示する情報処理装置、方法、およびプログラムを提供することができる。
 上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
本発明の実施の形態に係る情報処理装置の論理的な構成を示す機能ブロック図である。 本発明の実施の形態に係る情報処理装置におけるバーコードの表示方法を説明するための図である。 本発明の実施の形態に係る情報処理装置を実現するスマートフォンのハードウェア構成の一例を示すブロック図である。 本実施形態の情報処理装置の動作の一例を示すフローチャートである。 本実施形態の情報処理装置に関連するバーコードのスキャナによる読み取り検証結果の例を示す図である。 本実施形態の情報処理装置に関連するバーコードの、コード体系別のスキャナによる読み取り検証結果と、パラメータの優先順位の例を示す図である。 本実施形態の情報処理装置により生成されるバーコードを説明するための図である。 本実施形態の情報処理装置により生成されるバーコードの表示例を示す図である。 本発明の実施の形態に係る情報処理装置の構成を論理的に示す機能ブロック図である。 本実施形態の情報処理装置の表示画面の例を示す図である。 本発明の実施の形態に係る情報処理システムの構成の一例を示す概略ブロック図である。 本発明の実施の形態に係るサーバの構成を論理的に示す機能ブロック図である。 本実施形態のサーバを実現するコンピュータの構成例を示すブロック図である。 本実施形態の情報処理システムの動作の一例を示すフローチャートである。 本実施形態の情報処理装置に関連するバーコードの構成を説明するための図である。 本実施形態の情報処理装置に関連するバーコードの構成を説明するための図である。
 以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
(第1の実施の形態)
 本発明の第1の実施の形態に係る情報処理装置、方法およびプログラムについて、以下説明する。
 図1は、本発明の実施の形態に係る情報処理装置100の論理的な構成を示す機能ブロック図である。
 本実施形態の情報処理装置100は、スキャナで読み取りされる任意のコード画像を表示部108に表示させる機能を有する。
 情報処理装置100は、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する情報取得部102と、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得するパラメータ取得部104と、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成するコード生成部106と、コード画像118を表示部108にドットバイドット表示または整数倍表示する表示制御部110と、を備える。
 本発明の情報処理装置は、表示部108の画面にコード画像118を表示する機能を有するコンピュータであり、表示部108は、情報処理装置に含まれていてもよいし、情報処理装置に外付けされたものでもよい。本実施形態において、情報処理装置は、スマートフォンを例に説明するが、これに限定されない。たとえば、携帯電話機、タブレット端末、PHS(Personal Handyphone System)、パーソナルコンピュータ、PDA(Personal Digital Assistants)、ゲーム機、店舗端末など、様々な端末装置を含むことができる。
 表示部108は、液晶ディスプレイ、有機EL(ElctroLuminescence)ディスプレイ、無機ELディスプレイ等、特に種類は限定されないが、本実施形態では、液晶ディスプレイを例に説明する。
 また、本発明の情報処理装置は、全ての機能を上記端末装置で実現される構成と、端末装置とサーバが機能を分担して実現される構成の両方を採用することができる。サーバを含む構成については、後述する。
 なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
 本発明の実施の形態に係る情報処理装置100では、コンピュータプログラムの各手順に対応する各処理動作を、コンピュータが実行することにより、情報処理装置100の各ユニットの各機能が実現される。たとえば、スマートフォン等の端末装置に本実施形態の情報処理装置100を実現するアプリケーション(以下、他のアプリケーションと区別するために「プログラム」とも呼ぶ)をインストールし、スマートフォンでプログラムを実行することで、情報処理装置100の各ユニットの各機能を実現することができる。
 また、後述するように、情報処理装置100の各ユニットの各機能は、少なくとも一部のユニットの少なくとも一部の機能をサーバが実現してもよい。端末装置およびサーバの性能(CPUやメモリ容量)や負荷状況等により、最適な機能分担を定めればよい。
 さらに、情報処理装置100のプログラムは、プログラムモジュールとしてコード画像を表示する機能を有する他のアプリケーションに組み込まれて実行される形態、または、ライブラリとして他のアプリケーションから呼び出されて実行される形態等であってもよい。
 ここで、情報処理装置100によりコード化される元となるソース情報114は、特に限定されず、ソース情報114を元に生成されるコード画像118は、様々なシーンで利用されることが想定される。たとえば、図書館で本を借りる際に提示する図書カードの代わりに、スマートフォンに図書館の利用者情報を示すバーコード画像を画面に表示させて職員に提示し、バーコードスキャナで読み取らせ、利用承認を行うことができる。また、コンビニエンスストア等で、スマートフォンに支払伝票情報を示すバーコード画像を画面に表示させて店員に提示し、バーコードスキャナで読み取らせ、コンビニ支払い手続きを行うことができる。また、ユーザ所有のスマートフォンではなく、施設や店舗等に設置されている端末装置に、ユーザが所定の操作を行うことでバーコード画像を画面に表示させて店員に提示し、バーコードスキャナで読み取らせ、所定の手続きを行う形態も考えられる。
 本実施形態では、ソース情報114を1次元バーコード(「1次元シンボル」、「リニアシンボル」とも呼ばれる)にコード化して表示部108に表示させる構成について説明する。なお、本発明の構成は、2次元コード(「2次元シンボル」、「スタック型2次元コード」、「マトリクス型2次元コード(たとえば、(QR(Quick Response)コード(登録商標))」とも呼ばれる)等、他のコード化方式で生成されたコード画像118の表示に適用することもできる。
 以下、本明細書では、1次元バーコードを単に「バーコード」と呼ぶ。
 バーコードは、あるキャラクタ(数字、記号、文字等)列を、異なる幅を有する複数のバーとスペース(これらの各々を「エレメント」または「モジュール」と呼ぶ)を組み合わせて並べて表現する。本実施形態では、バーコードのコード体系として、GS1-128(旧UCC/EAN-128)、Code128、Codabar(NW-7)等を例に説明するが、本発明の情報処理装置に適用可能なコード体系はこれらに限定されず、様々なコード体系のバーコードに適用できる。
 情報取得部102は、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する。
 コード体系情報112は、表示対象の上記バーコードのコード体系を情報取得部102が識別できる情報であればよく、特に限定されない。たとえば、本実施形態の情報処理装置100が表示できるコード体系について、予め識別情報を定めておき、情報処理装置100を利用する他のアプリケーションが指定するコード体系を示す識別情報を取得してもよい。または、情報処理装置100が生成するコード画像が、あるコード体系に特化されている場合には、予め定められているコード体系、またはサーバから指定されたコード体系を使用することができる。
 ソース情報114は、バーコードの元となる情報であり、テキストデータ、バイナリデータ等のデータ形式は特に限定されない。ここで、コード体系毎に、コード化可能なキャラクタの種類(数字、記号、文字等)や桁数、あるいは、情報項目等の仕様は決まっているので、コード体系に従ったソース情報114が取得される。なお、ソース情報114の内容は、本発明の本質には関わらないので詳細な説明は省略する。
 情報取得部102は、コード体系情報112およびソース情報114を、たとえば、コード画像118の表示を要求する他のアプリケーション等から取得することができる。あるいは、ウェブサイトからダウンロードして取得してもよい。あるいは、記憶装置(内部メモリまたはストレージ、または外部記録媒体)に記憶されている情報を読み出して取得する形態であってもよく、特に限定されない。
 本明細書において、「取得」とは、自装置が他の装置や記憶媒体に格納されているデータまたは情報を取りに行くこと(能動的な取得)、たとえば、他の装置にリクエストまたは問い合わせして受信すること、他の装置や記憶媒体にアクセスして読み出すこと等、および、自装置に他の装置から出力されるデータまたは情報を入力すること(受動的な取得)、たとえば、配信(または、送信、プッシュ通知等)されるデータまたは情報を受信すること等、の少なくともいずれか一方を含む。また、受信したデータまたは情報の中から選択して取得すること、または、配信されたデータまたは情報を選択して受信することも含む。
 情報取得部102による情報取得方法は、コード画像の表示を要求する他のアプリケーションやウェブサイトから呼び出されて情報を受け取る形態でもよいし、表示したいソース情報114の情報を持っている他のアプリケーションやウェブサイトに対し、情報提供のリクエストを行う形態でもよく、特に限定されない。
 パラメータ取得部104は、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得する。
 コード生成用パラメータ116は、コードを生成する際の条件となる情報であり、バーコードを構成する最小モジュール(黒バーや白バー)の1幅を描画するのに使用する画素数(ドット数)を少なくとも含む。なお、QRコード(登録商標)等の2次元バーコードの場合、コード生成用パラメータ116は、最小モジュール(1セル)を描画するのに使用する縦と横の各画素数(ドット数)となる。さらに、コード体系がNW7の場合には、コード生成用パラメータ116として、細エレメントに対する太エレメントの比(ここでは、「NW比」と呼ぶ)が含まれてもよい。また、コード生成用パラメータ116は、端末装置の画面の長手方向を縦にしてバーコードを表示するか、長手方向を横にしてバーコードを表示するかの指定をさらに含んでもよい。
 たとえば、コード体系がNW7の場合には、コード生成用パラメータ116は、NW比が2.0、2.5、または、3.0について、最小モジュール幅のドット数(たとえば、1(dot/mod)、2(dot/mod)、3(dot/mod))の組み合わせを含む。なお、コード生成用パラメータ116の最小モジュール幅のドット数は、3(dots/mod)までに限定されるものではなく、4(dot/mod)、5(dot/mod)、...等、画面の画素数や解像度に応じて、様々な値を取り得る。
 ここで、コード生成用パラメータ116は、表示部108の仕様(特に、画面の幅と解像度)およびコード体系に応じて、バーコードの生成条件(最小モジュール幅やバーコード幅等)を満たす値が設定される。たとえば、バーコードがスキャナによって読み取られることができる最小モジュールの幅は、スキャナの読取解像度(分解能)によって決まりうる。たとえば、最小モジュール幅が0.15mm以上であると、スキャナでバーコードがある一定の精度で読み取ることができるとする。
 また、表示部108の仕様から、画面の1ドットが何mmとなるかが分かることから、1ドットが0.15mm以上であれば、最小モジュールを、1ドットで描画してよいことになる。たとえば、画面の長手方向を縦にした場合の、画面の横幅が640画素で解像度が(326ppi)のものは、1ドット幅が約0.077mmとなり、スキャナの分解能を下回ることになる。したがって、最小モジュール幅は、2ドット以上にした方がよい。このように、スキャナ側からすると、最小モジュールの幅は、なるべく広い方が読み取り精度は向上する。そのため、最小モジュールを描画するドット数が多い方がよい。しかしながら、バーコードの横方向の長さが、左右の余白を含めて60mmを超えると、スキャナで読み取れなくなる場合がある。本実施形態では、最小モジュール幅のドット数は、バーコード総幅が60mmを超えない範囲に制限するものとする。
 このように、コード生成用パラメータ116は、スキャナで読み取りうる最小モジュールの幅と、生成されるバーコードの総幅の両方の条件を満たす範囲で決められる。この範囲に含まれるコード生成用パラメータ116が複数ある場合には、パラメータ取得部104は、複数のコード生成用パラメータ116を取得してもよい。
 コード生成用パラメータ116は、予め理論値として設定されていてもよいし、あるいは、後述するように、実際の読み取り結果を統計して、最適値に補正できてもよい。
 最も単純な例では、端末装置の機種または表示部108の型番によって表示部108の仕様は定まるため、端末装置の機種または表示部108の型番と、コード体系とに対応するコード生成用パラメータ116を取得してもよい。
 たとえば、図5は、端末装置の機種、または、ある画面仕様(画面サイズ(縦および横の少なくともいずれか一方の画素数)および画面解像度(ppi)の範囲)において、コード体系別に、バーコード構成条件(たとえば、最小モジュール幅やNW比)毎に、生成されるコード画像118の読み取り精度の検証結果が示されている。ここでは、○(丸印)が高精度で読み取り可能なもの、△(三角印)が読み取りできるが、所定の基準を満たさないもの、-(N/A:Not Applicable)が生成されるバーコードが所定の基準を満たさないので採用できないものを示す。また、図示されていないが、読み取りできないものは、×(バツ印)で示される。ここで、所定の基準とは、たとえば、バーコードの幅が60mm以下であること、バーコードの最小モジュールの幅が0.15mm以上であること等である。
 このような検証は、実際にバーコードを生成して各端末装置に表示させて、スキャナで読み取り試験で行ってもよいし、理論上計算されるバーコードの最小モジュール幅とバーコード幅、およびスキャナの読み取り解像度等の仕様情報から、理論的に行ってもよい。
 以下、バーコード総幅の算出方法を説明する。
 まず、コード体系がEAN128(GS1-128)のバーコードについて説明する。
 図15(a)は、バーコードの構成イメージを示す。図15(b)は、最小モジュール幅をX(ドット)(Xは自然数)とした場合の、各部の画素数(ドット数)を示している。
 最小モジュール幅をX、有効桁数(数字のみ)をn(nは偶数とする)、CODE128のスタイルをCode Set Cとする。
 なお、Data部は1キャラクタで数字2桁(00~99)とする。
 バーコード総幅W=10X+11X+11X+11X*n/2+11X+13X+10X=(11n/2+66)X
 n=44桁とすると、W=(11*44/2+66)=308Xとなる。ここで、Wは自然数で、バーコード総幅をドット数で示す。
 この場合、最小モジュール幅を1(dot/mod)にすると、バーコード総幅が308ドットとなる。したがって、画面の長手方向を縦にした場合の、画面の横幅が540画素以下のものは、最小モジュール幅は、1(dot/mod)のみで、2(dots/mod)は表示できないことになる。
 次に、コード体系がCODABAR(NW7)のバーコードについて説明する。
 図16(a)は、バーコードの構成イメージを示す。図16(b)は、最小モジュール幅をX(ドット)とした場合の、各部の画素数(ドット数)を示している。
 細バーの幅(=最小モジュール幅)をX、太バーの幅をr・X、NW比(太バー幅と細バー幅の比率)をr(=2から3)、キャラクタ間ギャップをc(c≧X)、有効桁数(ここでは、簡単のため数字のみとする)をnとする。
 また、各キャラクタ幅は、以下の通りとなる。
 "0"から"9"、"-(マイナス記号)","$(ドル記号)"の12種は、(2r+5)X、":(コロン記号)","/(スラッシュ記号)",".(ピリオド)","+(プラス記号)"の4種は、(3r+4)X、STARTおよびSTOPの("A","B","C","D"の4種)は(3r+4)Xとする。
 バーコード総幅W=4(3r+4)X+n(2r+5)X+c(n+1)
 ここで、c=X(キャラクタ間ギャップ(図16(a)中、▲(黒三角)で示される)の最小幅)とすると、以下のようになる。
 バーコード総幅W=4(3r+4)X+n(2r+5)X+X(n+1)
 =X(12r+16+2nr+5n+n+1)
 =X(12r+17+2nr+6n)
 =X{2n(r+3)+12r+17}
 ここで、NW比r=3.0の場合は以下のようになる。
 バーコード総幅W=X{2n(r+3)+12r+17}
 =X{2n(3+3)+12*3+17}
 =X(12n+53)
 この例でn=16桁なら、W=245Xとなる。
 次に、NW比r=2.0の場合は以下のようになる。
 バーコード総幅W=X{2n(r+3)+12r+17}
 =X{2n(2+3)+12*2+17}
 =X(10n+41)
 この例でn=16桁なら、W=201Xとなる。
 このように、理論的にバーコード幅を求めれば、表示部108の仕様から、最小モジュール幅の設定可能な範囲を求めることができる。
 これらの結果から、コード体系毎に、端末装置の機種または画面仕様に応じた、コード生成用パラメータ116のセットを決定することができる。たとえば、この端末装置で、コード体系が、CODE128(16桁)のコード画像118を生成する場合には、コード生成部106は、コード生成用パラメータ116として、最小モジュール幅2(dot/mod)と3(dot/mod)の少なくともいずれか一方を取得する。
 表示部108の仕様としては、スマートフォンを、長手方向を縦にした場合の横方向の画面の幅の画素数と、画面解像度(ppi)が少なくとも分かればよい。画面幅の画素数と画面解像度によって、適したコード生成用パラメータ116が定まるためである。一方、画面幅の画素数と画面解像度は、端末装置の機種や表示部108の型番によって決まっているものでもある。そこで、端末装置の機種名(製品名等)や表示部108の型番(製品名等)の情報から、対応するコード生成用パラメータ116を取得してもよい。
 また、表示部108の仕様に関する情報は、端末装置自身が保持している情報から算出したり取得したりしてもよい。あるいは、パラメータ取得部104は、自身の機種または表示部108の画面の情報をサーバに通知し、対応するコード生成用パラメータ116をサーバから取得したり、ウェブサイトから該当する機種等を選択して、対応するコード生成用パラメータ116をダウンロードしたりしてもよい。
 端末装置自身が保持している情報から、表示部108の仕様に関する情報として、画面幅の画素数と画面解像度を算出してもよい。
 たとえば、画面幅の画素数と画面解像度は、画面サイズ(インチ数)、画素数(画面の横および縦の少なくともいずれか一方の画素数、または総画素数)、アスペクト比、または画面解像度(ppi)等の表示部108の仕様に関する情報から算出できる。算出方法は様々考えられるが、特に限定されない。
 そして、パラメータ取得部104は、コード生成用パラメータ116を、コード体系と、端末装置自身が保持している情報から取得した表示部108の仕様とに基づいて、算出して得てもよい。
 なお、コード体系については、情報取得部102が取得したコード体系情報112から取得できる。
 また、コード生成用パラメータ116は、端末装置が読み取り可能な記憶媒体に保持されていてもよいし、サーバから取得してもよいし、ウェブサイトからダウンロードしてもよい。
 コード生成部106は、コード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成する。
 ここで、コード体系毎に、バーコードの構成は決まっているため、本実施形態のコード生成部106は、コード体系毎に、バーコードの構成内容の情報を保持する。コード生成部106は、コード体系情報112で指定されるコード体系に基づいて、バーコードの構成内容の情報を用いて、ソース情報114をコード化する。なお、バーコードの生成方法は特に限定されるものではなく、本発明の本質に関わらないので詳細な説明は省略する。
 なお、上述したように、コード画像118には、バーコードの規格や、バーコードスキャナの性能に応じて、所定の制約条件が定められてもよい。たとえば、バーコードの最小モジュール(黒バーまたは白バー)幅が所定サイズ(0.15nm)以上となること、バーコード全体(余白を含め)の幅が所定サイズ(60mm)以内であること、バーコードの高さが所定サイズ(10mm)以上であること、バーコードの左右に余白があること、バーコードの周囲に枠がないこと、バーコードのRGB値は、黒バーがR=G=B=255、白バーがR=G=B=0であること、等がある。コード生成部106は、これらの制約条件を満たすように、コード画像118を生成する。
 表示制御部110は、コード画像118を表示部108にドットバイドット表示または整数倍表示する。
 なお、コード画像118を表示部108に表示する際、表示制御部110は、バーコードスキャナの読取精度ができる限り向上するように、表示部108の設定を変更する等の制御を行うことが好ましい。たとえば、表示部108の画面の輝度設定を最大にしたり、画面ののぞき見を防止するビューブラインド機能の設定を解除したりする制御を行ってもよい。表示制御部110が自動で設定を変更してもよいし、あるいは、ユーザに設定の変更を促すメッセージを出力(表示または音声出力)し、ユーザに手動で設定変更させてもよい。
 ドットバイドット表示とは、画像をディスプレイに表示する方式の1つで、画像情報の1ピクセルを表示画面の1ドットに対応させて表示することを指す。すなわち、画像情報に拡大または縮小などの処理を加えずに、そのまま等倍表示する。
 整数倍表示とは、画像をディスプレイに表示する方式の1つで、画像情報の1ピクセルを表示画面の整数倍ドットに対応させて表示することを指す。ここで、アスペクト比は変えずに拡大する。また、1.5倍等の整数倍でない拡大処理は行わない。その理由について、以下に説明する。
 図2は、バーコードの表示方式を説明するための図である。
 図2(a)は、ドットバイドット表示したときのバーコードを示す図である。図2(b)は、整数倍ではない表示をしたときのバーコードを示す図である。図2(c)は、整数倍でない表示をしたときのバーコードの拡大図である。
 図2(a)のように、整数倍表示の場合には、バーコードは、画面の画素(ドット)単位で、黒バーと白バーをそれぞれ表現できる。ここで、画面の1画素は、R(赤)G(緑)B(青)の3色のカラーフィルタから構成されている。たとえば、白バーは、R=G=B=225、黒バーは、R=G=B=0の各値が指定されることで、表示される。
 一方、図2(b)または図2(c)のように、整数倍表示でない場合には、バーコードは、画面の画素単位で黒バーと白バーを表現できなくなる。たとえば、黒バーが1.5ドットで表現される場合、たとえば、図2(c)のP22やP23等は、黒と白の間のRGB値をとることになり、図2(b)に示すように、黒バーの周囲(ハッチングで示される部分)に「にじみ」が生じてしまう。このため、スキャナによる読み取り精度が低下してしまう可能性がある。
 そこで、本発明では、表示部108は、コード画像118をドットバイドット表示または整数倍表示する。
 さらに、表示制御部110は、スマートフォン10等タッチパネル型ディスプレイのユーザインタフェースの標準機能として備わっている、画面表示を拡大または縮小するための操作である、ピンチアウトやピンチイン操作の受け付けを禁止する制御を行うのが好ましい。あるいは、表示制御部110は、画面表示の拡大または縮小を、整数倍で行うよう制御してもよい。
 図3は、本発明の実施の形態に係る情報処理装置100を実現するスマートフォン10のハードウェア構成の一例を示すブロック図である。
 図3のスマートフォン10(コンピュータ)は、CPU12、メモリ14、メモリ14にロードされた図1の情報処理装置100の構成要素を実現するプログラム50、そのプログラム50を格納する内部ストレージ16などの記憶ユニット、および通信用インタフェース(通信部18)を備える。図1の本実施形態の情報処理装置100の各構成要素は、図3の任意のコンピュータ(スマートフォン10)のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。図1ならびに以下に説明する各実施形態における機能ブロック図は、ハードウェア単位の構成ではなく、機能単位の論理的なブロックを示している。
 具体的には、図3に示すように、スマートフォン10は、CPU12と、メモリ14と、内部ストレージ16と、通信部18と、操作部22と、操作受付部24と、表示部26と、表示制御部28と、を備える。なお、図3において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
 CPU12は、スマートフォン10の各要素とバス40を介して接続され、各要素とともにスマートフォン10全体を制御する。メモリ14は、スマートフォン10を動作させるためのプログラム(OS(Operating System)やアプリケーション等)や、それらのプログラムが動作する際に使用する各種設定データがロードされる領域と、プログラムが動作するための作業領域とを有する。
 内部ストレージ16は、本発明の情報処理装置を実現するプログラム50や、さらに、他のアプリケーション、メール、文書、画像、音楽、動画等の各種ユーザデータを記憶する。なお、内部ストレージ16以外に、たとえば、スマートフォン10に装着または接続して利用できる外部ストレージ(たとえば、SD(Secure Digital)メモリカード等の記録媒体、USB(Universal Serial Bus)メモリ、またはHDD(Hard Disk Drive)等)にアクセス可能とする機構(接続手段、および読出/書込手段)をスマートフォン10が備えてもよい。
 通信部18は、たとえば、3G(3rd Generation)、LTE(Long Term Evolution)等の携帯電話通信方式で携帯電話通信網に接続したり、無線LAN(Local Area Network)、赤外線、またはブルートゥース等の無線通信でインターネット等のネットワークに接続したりする。本図では1つのユニットのみ示しているが、スマートフォン10は、複数の異なる通信方式に対応した複数の通信制御ユニットを有してもよい。また、図では、通信部18は、アンテナ20を介した無線通信を行う構成を示しているが、これに限定されず、有線通信を行う構成であってもよく、無線および有線の少なくともいずれか一つの通信方式で通信する。
 たとえば、情報取得部102またはパラメータ取得部104が、後述する実施形態のように、サーバから情報またはパラメータを取得する形態では、この通信部18を用いてサーバと通信することができる。
 操作部22は、操作キー、操作ボタン、スイッチ、ジョグダイヤル、タッチパッドなどを含む。操作受付部24は、ユーザによる操作部22の操作を受け付け、CPU12に通知する。表示部26は、液晶ディスプレイ、有機EL(ElectroLuminescence)ディスプレイ、LED(Light Emitting Diode)表示器などを含む。表示制御部28は、CPU12からの指示に従い、表示部26に各種画面表示を行う。
 また、スマートフォン10では、操作部22の一部と、表示部26が一体となったタッチパネル30を備えてもよい。
 本実施形態では、表示部26(タッチパネル30)が、図1の表示部108に相当する。
 本発明の実施の形態に係るコンピュータプログラム50は、情報処理装置100を実現させるためのコンピュータ(スマートフォン10のCPU12)に、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する手順、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得する手順、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成する手順、コード画像118を表示部108にドットバイドット表示または整数倍表示する手順、を実行させるように記述されている。
 本実施形態のコンピュータプログラム50は、コンピュータで読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム50は、記録媒体からコンピュータのメモリ14にロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリ14にロードされてもよい。
 コンピュータプログラム50を記録する記録媒体は、非一時的な有形のコンピュータ(スマートフォン10のCPU12)が使用可能な媒体を含み、その媒体に、コンピュータが読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラムが、コンピュータ上で実行されたとき、コンピュータに、情報処理装置100を実現する以下の情報処理方法を実行させる。
 このように構成された本実施形態の情報処理装置100の情報処理方法について、以下説明する。
 図4は、本実施形態の情報処理装置100の動作の一例を示すフローチャートである。
 本発明の実施の形態に係る情報処理方法は、情報処理装置100の情報処理方法であり、情報処理装置100を実現するコンピュータ(スマートフォン10のCPU12)により実行される情報処理方法である。
 本実施形態の情報処理方法は、情報処理装置100が、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得し(ステップS101)、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得し(ステップS103)、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114がコード化されたコード画像118を生成し(ステップS105)、コード画像118を表示部108にドットバイドット表示または整数倍表示する(ステップS107)、ことを含む。
 より詳細には、まず、情報取得部102が、コード体系情報112とそのコード体系に基づいてコード化するソース情報114を取得する(ステップS101)。ここでは、たとえば、他のアプリケーションから、コード体系情報112とソース情報114を取得する。
 なお、ステップS101における、情報取得のタイミングは、様々考えられる。たとえば、アプリケーションで使用するコード体系情報112が限定されている場合には、コード体系情報112はアプリケーションで予め指定され、ソース情報114は、バーコード生成要求毎にアプリケーションから都度取得されてもよいし、複数を一括してアプリケーションから取得してもよい。
 次に、パラメータ取得部104が、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得する(ステップS103)。パラメータ取得部104は、端末装置の表示部108の仕様に対応する、コード体系毎のバーコード構成条件を含むコード生成用パラメータ116のセットを一括して取得して、メモリ14または内部ストレージ16に記憶しておいてもよい。そして、パラメータ取得部104は、コード体系に対応するパラメータ(バーコード構成条件)を選択してもよい。
 たとえば、端末装置の画面幅が320(pixels)で、コード体系がNW7で16桁の場合、パラメータ取得部104は、対応するコード生成用パラメータ116として、少なくとも、NW比3.0、および最小モジュール幅1(dot/mod)を取得する。さらに、パラメータ取得部104は、コード生成用パラメータ116として、NW比2.0、および最小モジュール幅1(dot/mod)を取得してもよい。
 ステップS103における、コード生成用パラメータ116の取得のタイミングは、特に限定されないが、たとえば、端末装置にプログラムがインストールされた時(後)、サーバでコード生成用パラメータ116が更新された時(後)、端末装置がコード画像118を生成する時(前)、ユーザが要求した時、ウェブサイトにアクセスしてダウンロード要求した時、所定の日時や定期的に、サーバまたは端末装置がリクエストした時等が考えられる。
 次に、コード生成部106が、取得されたコード体系情報112およびコード生成用パラメータ116を使用して、対応するコード体系のバーコードの構成情報に基づいて、ソース情報114がコード化されたコード画像118を生成する(ステップS105)。すなわち、ソース情報114を、NW7の16桁で、NW比3.0、および最小モジュール幅1(dot/mod)で、コード画像118を生成する。
 そして、表示部108が、コード画像118を表示部108にドットバイドット表示する(ステップS107)。
 ここで、ステップS103で、コード生成用パラメータ116として、最小モジュール幅2(dots/mod)または、3(dots/mod)が取得された場合、以下に示す2通りの方法で、ドットバイドット表示または整数倍表示が実現できる。
(1)ステップS105で、コード画像118をパラメータに従って整数倍にして生成し、ステップS107でコード画像118を等倍表示する。
(2)ステップS105で、コード画像118を等倍で生成し、ステップS107でコード画像118を整数倍表示する。
 以上説明したように、本発明の実施の形態に係る情報処理装置100において、パラメータ取得部104が、表示部108の仕様およびコード体系に対応するコード生成用パラメータ116を取得し、コード生成部106が、コード体系情報112およびコード生成用パラメータ116を使用して、ソース情報114からコード画像118を生成する。そして、表示制御部110が、コード画像118を表示部108にドットバイドット表示、または、整数倍表示する。
 これにより、情報処理装置100によれば、表示部108の仕様に適した、また、コード体系に従った、最適なコード生成用パラメータ116を用いて、コード画像118を生成し、表示できるので、バーコードのエレメントが滲んだり、最小モジュール幅が0.15mm以下になったり、バーコード幅が60mmを超えるようなコード生成用パラメータ116は使用しないで済む。そのため、生成されたバーコードの読み取り精度が向上するという効果を奏する。
(第1の実施の形態の変形態様1)
 上記第1の実施の形態の変形態様1について、以下説明する。
 本実施形態の情報処理装置は、上記実施形態の情報処理装置100とは、コード生成用パラメータ116の複数候補の中から、各候補に付与された優先順位に従って1つのパラメータを選択して、コード画像118を生成する点で相違する。
 なお、本実施形態の情報処理装置は、図1の情報処理装置100と同様な構成を有するので、図1を用いて説明する。
 本実施形態において、パラメータ取得部104は、コード生成用パラメータ116の複数候補の中から少なくとも1つのコード生成用パラメータ116を各候補に付与された優先順位に従って選択する。
 コード生成部106は、選択されたコード生成用パラメータ116を使用して、コード画像118を生成する。
 または、表示制御部110が、コード生成用パラメータ116の複数候補の中から優先順位に従って選択された少なくとも1つのコード生成用パラメータ116を使用して生成されたコード画像118を、優先順位に従って選択して表示してもよい。
 図6に示すように、たとえば、コード体系NW7(16桁)のバーコードを生成する場合、コード生成用パラメータ116として、NW比2.0と、最小モジュール幅の2つの候補の1(dot/mod)と2(dot/mod)が、パラメータ取得部104により取得される。図6の記号○(丸)や△(三角)横に表記される数値が、優先順位を示しているものとする。
 この例では、コード生成用パラメータ116は、優先順位が1位のNW比2.0と最小モジュール幅2(dot/mod)と、2位のNW比2.0と最小モジュール幅1(dot/mod)、3位のNW比2.5と最小モジュール幅2(dot/mod)となる。
 パラメータ取得部104は、たとえば、(NW比2.0,2(dot/mod))、(NW比2.0,1(dot/mod))、(NW比2.5,2(dot/mod))を順に3つのコード生成用パラメータ116を取得する。ここで、複数のパラメータは優先順位が高い順に取得される構成としてもよい。あるいは、(1,NW比2.0,2(dot/mod))、(2,NW比2.0,1(dot/mod))、(3,NW比2.5,2(dot/mod))等、優先順位を付したフォーマットで取得される構成であってもよい。
 たとえば、図7(a)のバーコードが、優先順位1位のコード生成用パラメータ116を使用して生成されたものであり、図7(b)のバーコードが優先順位2位のコード生成用パラメータ116を使用して生成されたものである。
 このようにして生成された複数のバーコードは、順次表示してもよいし、一括して表示してもよい。
 たとえば、表示制御部110は、複数のコード画像118を優先順位順に順次表示する。複数画像の表示切替制御は、ユーザ指示に従って手動で切り替えてもよいし、所定時間間隔で、自動で切り替えてもよい。
 手動による画像の切り替えは、画面に表示される矢印ボタン、送る(戻る)ボタン、画像を指定する数字アイコンやリンク等の押下、あるいは、スマートフォン10の操作ボタンやダイヤル等の操作部22の操作を受け付けることで行ってもよいし、スマートフォン10の画面をスワイプまたはタップする等の画面操作を受け付けることで行ってもよく、特に限定されない。
 また、複数のコード画像118を一括して表示する構成について、図8を用いて説明する。
 表示制御部110は、コード生成部106により複数候補のコード生成用パラメータ116を使用して生成された複数のコード画像118の中の少なくとも複数を表示部108に一括で表示する。
 この構成によれば、複数の異なるコード生成用パラメータ116で生成された、あるソース情報114からコード体系に従い生成された複数のバーコードが表示部108に一括表示されるので、スキャナによるバーコードの読み取り時に、いずれかのバーコードで読み取り成功する可能性が高くなる。
 図8(a)は、上記の例の2つの候補のコード生成用パラメータ116で生成されたコード画像118を、2つ並べて1つの画面に表示した例である。図8(b)は、バーコードの表示方向が異なる2つのコード生成用パラメータ116で生成されたコード画像118を2つ並べて1つの画面に表示した例である。
 図8(a)の例では、上方に最小モジュール幅2(dot/mod)で生成されたバーコード150が表示され、下方に最小モジュール幅1(dot/mod)で生成されたバーコード152が表示されている。一括して表示された2つのバーコードをスキャナで順次読み取ることで、少なくともいずれか一方のバーコードが読み取りに成功する可能性が高くなるので効率がよい。
 図8(b)では、バーコードの表示方向を変えた2つのバーコードが表示されている。上方に最小モジュール幅1(dot/mod)で生成されたバーコード154が端末装置の長手方向を縦にした場合(以下、「縦位置」と呼ぶ)の横方向に表示され、下方に最小モジュール幅3(dot/mod)で生成されたバーコード156が表示されている。
 ここで、液晶ディスプレイの場合、画面の1画素は、R(赤)G(緑)B(青)の3色のカラーフィルタから構成されている。そして、これらの3つのRGBフィルタは、縦位置の縦方向に画素毎に同じ列に並んでいる場合がある。
 縦位置の横方向にバーコード154が表示されている場合には、スキャナの読み取り方向が、3つのRGBフィルタを横断する方向になるため、バーコード154が読み取れる可能性が高い。
 一方、縦位置の縦方向にバーコード156が表示されている場合には、スキャナの読み取り方向が、3つのRGBフィルタを横断しない方向となり、RGBの一部のみを読み取ることになる可能性もある。このため、読み取り精度が低下する可能性も考えられる。しかし、縦位置の縦方向にバーコード156を表示する場合には、画面の形状が縦方向の方が長いことから、横方向に比べてバーコード156の総幅を長くとることが可能になるため、バーコード156の最小モジュール幅をバーコード154よりも大きくすることができる。この点からは、スキャナの読み取り精度が向上する可能性もある。
 したがって、図8(b)の例では、向きを変えて2つのバーコードを表示することで、最小モジュール幅の差の大きいバーコードを一括して表示することができる。これにより、この異なるバーコードの少なくともいずれか一方が読み取りに成功する可能性が高くなるので効率がよい。
 以上説明したように、本実施形態の情報処理装置100によれば、パラメータ取得部104が、複数候補のコード生成用パラメータ116を優先順位に従って選択するので、コード生成部106は、優先順位の高いコード生成用パラメータ116を使用して、読み取り精度が高いコード画像118を生成できる。
 この構成により、優先順位の高いコード生成用パラメータ116を使用できるので、スキャナでの読み取り精度が向上する。
(第1の実施の形態の変形態様2)
 上記第1の実施の形態の変形態様2について、以下説明する。
 本実施形態の情報処理装置は、上記実施形態とは、複数候補のコード生成用パラメータ116によって生成されたコード画像118の読み取り結果に応じて、各候補の優先順位を変更できる構成を有する点で相違する。
 図9は、本実施形態の情報処理装置120の構成を論理的に示す機能ブロック図である。
 図9の情報処理装置120は、図1の上記実施形態の情報処理装置100と同様な情報取得部102と、パラメータ取得部104と、コード生成部106と、表示制御部110と、を備えるとともに、さらに、判定部122と、記録部124と、を備える。また、本実施形態は、上記変形態様1の構成と組み合わせることもできる。
 本実施形態の情報処理装置120は、表示制御部110により表示されたコード画像118のスキャナ(不図示)による読み取りが成功したか否かを判定する判定部122と、判定部122による判定結果を、コード画像118を生成するのに使用したコード生成用パラメータ116に対応付けて記録する、または、判定部122による判定結果に基づいて、コード生成用パラメータ116に付与された優先順位を変更する記録部124と、をさらに備える。
 本実施形態において、パラメータ取得部104は、判定部122により読取失敗と判定された場合に、次の優先順位のコード生成用パラメータを選択し直す。
 また、コード生成部106は、選択し直されたコード生成用パラメータ116を使用して、コード画像を生成し直す。
 図10は、本実施形態の情報処理装置120の表示画面の例を示す図である。
 図10(a)の例では、画面130が、完了ボタン132と、読み取りにくいボタン134と、を含んでいる。画面130に表示されているバーコードをスキャナに読み取らせた結果、読み取りに失敗した場合、ユーザは読み取りにくいボタン134を操作する。読み取りにくいボタン134の操作を受け付けると、判定部122は、スキャナによる読み取りに失敗したと判定する。そして、記録部124は、その判定結果を、コード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を下げるように変更してもよい。そして、表示制御部110により、優先順位が次のバーコードが画面130に表示される。
 読み取りに成功した場合、ユーザは完了ボタン132を操作する。完了ボタン132の操作を受け付けることで、判定部122は、スキャナによる読み取りに成功したと判定する。そして、判定部122は、その判定結果をコード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を上げるように変更してもよい。そして、バーコード表示を終了する、または、次のソース情報114の受け付け処理を行う。
 図10(b)の例では、画面140は、前へボタン142と、次へボタン144と、完了ボタン146と、を含む。画面140に表示されているバーコードをスキャナに読み取らせた結果、読み取りに失敗した場合、ユーザは次へボタン144を操作する。完了ボタン146の操作を受け付けるまで、判定部122は、スキャナによる読み取りに失敗したと判定する。そして、記録部124は、その判定結果を、コード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を下げるように変更してもよい。そして、表示制御部110により、優先順位が1つ下のコード生成用パラメータ116を使用して生成されたバーコードが画面130に表示される。なお、ユーザによる前へボタン142の操作を受け付けた場合、優先順位が1つ上のコード生成用パラメータ116を使用して生成されたバーコードを表示する。
 読み取りに成功した場合、ユーザは完了ボタン146を操作する。完了ボタン146の操作を受け付けることで、判定部122は、スキャナによる読み取りに成功したと判定する。そして、判定部122は、その判定結果をコード生成用パラメータ116に対応付けて記録してもよいし、コード生成用パラメータ116に付与された優先順位を上げるように変更してもよい。そして、バーコード表示を終了する、または、次のソース情報114の受け付け処理を行う。
 本実施形態の情報処理装置120によれば、判定部122が、スキャナによる読み取りが成功したか否かを判定し、記録部124が、判定結果をコード生成用パラメータ116に対応付けて記録する。あるいは、記録部124が、コード生成用パラメータ116に付与された優先順位を変更する。
 この構成により、表示されたバーコードのスキャナによる読み取り結果の情報を収集することができる。これにより、コード生成用パラメータ116の優先順位を、実際の読取結果を反映させることができる。これにより、次回以降の読み取りに成功できる可能性を高めることができる。
(第2の実施の形態)
 次に、本発明の第2の実施の形態に係る情報処理システム、情報処理装置および方法について、以下説明する。なお、本実施形態のプログラムは、上記実施形態と同様に、情報処理装置の情報処理方法を少なくとも1つのコンピュータに実行させるものであり、本実施形態での詳細な説明は省略する。
 図11は、本発明の実施の形態に係る情報処理システムの構成の一例を示す概略ブロック図である。
 本実施形態では、上記実施形態の情報処理装置を、サーバ200と、各端末装置220とで、それぞれ機能を分担して実現する構成について説明する。
 本実施形態の情報処理システム1は、サーバ200と、サーバ200とネットワーク3を介して接続する端末装置220(図では、3つの端末装置220a、220b、220cを示すが、端末装置220の数はこれに限定されない。)と、を含む。
 本実施形態では、サーバ200は、各端末装置220に、本発明のプログラム50をダウンロードさせ、かつ、コード生成用パラメータ116のセットもダウンロードさせる。なお、プログラム50およびコード生成用パラメータ116の配信元となるサーバは、同じサーバである必要はない。また、上述したように、本発明のプログラム50は、端末装置220に単独でダウンロードされる形態だけでなく、他のアプリケーションに組み込まれてダウンロードされる形態も含む。
 また、コード生成用パラメータ116のダウンロードのタイミングは、上述したように様々考えられる。たとえば、プログラム50を端末装置220にダウンロードする際に、端末装置220の機種に対応する少なくとも一部のコード体系のコード生成用パラメータ116のセットを一緒にダウンロードしてもよい。あるいは、プログラム50または他のアプリケーションが実行されて、あるソース情報114をコード化する際に、端末装置220の機種およびコード体系に対応するコード生成用パラメータ116をサーバ200にリクエストしてダウンロードしてもよい。
 図12は、本発明の実施の形態に係るサーバ200の構成を論理的に示す機能ブロック図である。
 本実施形態のサーバ200は、少なくともパラメータ送信部202を備え、さらに、読取結果取得部204と、優先順位更新部206と、を備えてもよい。また、サーバ200がパラメータ記憶部208を備える構成でもよいし、外部装置に含まれるパラメータ記憶部208にサーバ200がアクセスする形態でもよい。
 サーバ200において、パラメータ記憶部208は、端末装置220の機種毎およびコード体系毎に、コード生成用パラメータ116を記憶する。
 パラメータ送信部202は、端末装置220から機種およびコード体系の少なくともいずれか一方の情報を受信し、パラメータ記憶部208を参照し、受信した情報に対応するコード生成用パラメータ116を端末装置220に送信する。
 さらに、サーバ200において、パラメータ記憶部208は、コード生成用パラメータ116の優先順位をコード体系毎にコード生成用パラメータ116に対応付けて記憶する。
 読取結果取得部(判定結果取得部)204は、コード生成用パラメータ116のスキャナによる読み取りが成功したか否かの判定結果を取得する。判定結果は、端末装置220から取得してもよいし、検証結果等、サーバ200の管理者または本発明のプログラム80の開発者による入力によって取得してもよい。
 優先順位更新部206は、取得した判定結果に基づいて、コード生成用パラメータ116に対応付けられた優先順位を更新する。
 パラメータ送信部202は、複数のコード生成用パラメータ116を端末装置220に送信する際に、優先順位を各コード生成用パラメータ116に付与して送信する。
 また、サーバ200において、優先順位更新部206は、読取結果取得部204により複数の端末装置220から取得された複数の判定結果の統計値に基づいて、優先順位を更新してもよい。
 図13は、本実施形態のサーバ200を実現するコンピュータ60の構成例を示すブロック図である。
 コンピュータ60は、CPU(Central Processing Unit)62、メモリ64、メモリ64にロードされた図12の構成要素を実現するプログラム80、そのプログラム80を格納するハードディスクなどのストレージ66、ネットワーク接続用インタフェース(通信I/F70、I/O(Input/Output)68)を備える。メモリ64、ストレージ66、I/O68および通信I/F70は、バス69を介して互いに接続され、CPU62により各要素とともにサーバ200全体が制御される。
 図12の本実施形態のサーバ200の各構成要素は、図13のコンピュータ60のハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。サーバ200を示す図12の機能ブロック図は、ハードウェア単位の構成ではなく、論理的な機能単位のブロックを示している。
 図13のコンピュータ60のCPU62が、ストレージ66に記憶されるプログラム80をメモリ64に読み出して実行することにより、図12のサーバ200各ユニットの各機能を実現することができる。
 次に、本発明の実施の形態に係る情報処理システムの情報処理方法について、以下説明する。
 図14は、本実施形態の情報処理システムの動作の一例を示すフローチャートである。
 本発明の実施の形態に係る情報処理方法は、情報処理装置(サーバ200および端末装置220)の情報処理方法であり、サーバ200および端末装置220を実現するコンピュータ(たとえば、図13のコンピュータ60および図3のスマートフォン10)により実行される情報処理方法である。
 本実施形態の情報処理方法は、まず、端末装置220において、情報取得部102が、コード体系情報112とソース情報114を取得する(ステップS201)。そして、パラメータ取得部104がサーバ200に自身の機種情報とコード体系を送信する(ステップS203)。
 そして、サーバ200において、パラメータ送信部202が、端末装置220から機種情報とコード体系の情報を受信する(ステップS205)。そして、パラメータ送信部202が、受信した機種情報から特定される表示部108の仕様と前記コード体系に対応するコード生成用パラメータ116を端末装置220に送信する(ステップS207)。
 そして、端末装置220において、コード生成部106が、iに1をセットし(ステップS211)、コード体系情報および優先順位が1位のコード生成用パラメータ116を使用して、ソース情報114からコード画像118を生成する(ステップS213)。
 そして、表示制御部110が、表示部108に生成されたコード画像118をドットバイドット表示または整数倍表示する(ステップS215)。このとき、図10(a)の画面が表示されたとする。
 ここで、ユーザは、端末装置220に表示されたコード画像118を、スキャナで読み取らせる。その結果、読み取りに失敗した場合(ステップS217のNO)、iをインクリメントして(ステップS219)、ステップS213に戻り、次の優先順位のコード生成用パラメータ116を選択する。
 同様に生成されたコード画像118が表示部108に表示され、スキャナに読み取らせる。その結果、読み取りに成功した場合(ステップS217のYES)、記録部124は、読み取りに成功したことを示す判定結果をサーバ200に送信する(ステップS221)。
 そして、サーバ200において、読取結果取得部204が端末装置220から判定結果を受信する(ステップS223)。そして、優先順位更新部206が、判定結果に基づいて、コード生成用パラメータ116の優先順位を更新する(ステップS225)。
 以上説明したように、本実施形態の情報処理システム1において、端末装置220は、サーバ200から端末装置220の機種およびコード体系に対応するコード生成用パラメータ116を取得し、バーコードを生成して表示できる。また、スキャナによる読み取り結果に関する情報をサーバ200に送信することができる。
 この構成により、複数の端末装置220からの読み取り結果の情報の統計をとることで、端末装置220の機種とコード体系に対応してより読み取り精度の高いコード生成用パラメータ116の優先順位を上げるこができるので、効率よく読み取り精度の高いバーコードを生成および表示することができる。
 以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
 以下、参考形態の例を付記する。
1. コンピュータに、
 コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する手順、
 表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得する手順、
 取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成する手順、
 前記コード画像を前記表示部にドットバイドット表示または整数倍表示する手順、
を実行させるためのプログラム。
2. 前記パラメータを取得する際、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択する手順、
 前記コード画像を生成する際、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する手順、
をコンピュータに実行させるための、1.に記載のプログラム。
3. 表示された前記コード画像のスキャナによる読み取りが成功したか否かを判定する手順、
 前記判定する手順における判定結果を、前記コード画像を生成するのに使用した前記コード生成用パラメータに対応付けて記録する、または、前記判定する手順における判定結果に基づいて、前記コード生成用パラメータに付与された優先順位を変更する手順、
 前記パラメータを取得する際、前記判定する手順により読取失敗と判定された場合に、次の優先順位のコード生成用パラメータを選択し直す手順、
 前記コード画像を生成する際、選択し直された前記コード生成用パラメータを使用して、前記コード画像を生成し直す手順、
をコンピュータに実行させるための、2.に記載のプログラム。
4. 前記コード画像を生成する手順により前記複数候補の前記コード生成用パラメータを使用して生成された複数のコード画像の中の少なくとも複数を前記表示部に一括で表示する手順、
をコンピュータに実行させるための、2.または3.に記載のプログラム。
5. 前記パラメータを取得する際、前記コード生成用パラメータを、前記表示部の仕様および前記コード体系に基づいて、算出する手順、
をコンピュータに実行させるための、1.乃至4.いずれか1つに記載のプログラム。
6. 前記パラメータを取得する際、前記コード生成用パラメータを管理するサーバに自身の機種を示す情報および前記コード体系情報を送信し、前記サーバから自身の前記機種から特定される前記表示部の仕様および前記コード体系に対応した前記コード生成用パラメータを受信する手順、
 前記サーバから受信した前記コード生成用パラメータを使用して前記コード画像を生成する手順、
をコンピュータに実行させるための、1.乃至5.いずれか1つに記載のプログラム。
7. 情報処理装置が、
 コード体系情報とそのコード体系に基づいてコード化するソース情報を取得し、
 表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得し、
 取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成し、
 前記コード画像を前記表示部にドットバイドット表示または整数倍表示する、
 情報処理装置の情報処理方法。
8. 前記情報処理装置が、
 前記パラメータを取得する際、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
 選択された前記コード生成用パラメータを使用して、前記コード画像を生成する、
 7.に記載の情報処理装置の情報処理方法。
9. 前記情報処理装置が、
 表示された前記コード画像のスキャナによる読み取りが成功したか否かを判定し、
 前記判定結果を、前記コード画像を生成するのに使用した前記コード生成用パラメータに対応付けて記録する、または、前記判定結果に基づいて、前記コード生成用パラメータに付与された優先順位を変更し、
 前記パラメータを取得する際、前記スキャナによる読み取りが失敗したと判定された場合に、次の優先順位のコード生成用パラメータを選択し直し、
 選択し直された前記コード生成用パラメータを使用して、前記コード画像を生成し直す、
 8.に記載の情報処理装置の情報処理方法。
10. 前記情報処理装置が、
 前記複数候補の前記コード生成用パラメータを使用して生成された複数のコード画像の中の少なくとも複数を前記表示部に一括で表示する、
 8.または9.に記載の情報処理装置の情報処理方法。
11. 前記情報処理装置が、
 前記パラメータを取得する際、前記コード生成用パラメータを、前記表示部の仕様および前記コード体系に基づいて、算出する、
 7.乃至10.いずれか1つに記載の情報処理装置の情報処理方法。
12. 前記情報処理装置が、
 前記パラメータを取得する際、前記コード生成用パラメータを管理するサーバに自身の機種を示す情報および前記コード体系情報を送信し、前記サーバから自身の前記機種から特定される前記表示部の仕様および前記コード体系に対応した前記コード生成用パラメータを受信し、
 前記サーバから受信した前記コード生成用パラメータを使用して前記コード画像を生成する、
 7.乃至11.いずれか1つに記載の情報処理装置の情報処理方法。
 この出願は、2014年9月18日に出願された日本出願特願2014-190208号を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (11)

  1.  コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する情報取得手段と、
     表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得するパラメータ取得手段と、
     取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成するコード生成手段と、
     前記コード画像を前記表示部にドットバイドット表示または整数倍表示する表示制御手段と、
    を備える情報処理装置。
  2.  前記パラメータ取得手段は、前記コード生成用パラメータの複数候補の中から少なくとも1つのコード生成用パラメータを各候補に付与された優先順位に従って選択し、
     前記コード生成手段は、選択された前記コード生成用パラメータを使用して、前記コード画像を生成する、
     請求項1に記載の情報処理装置。
  3.  前記表示制御手段により表示された前記コード画像のスキャナによる読み取りが成功したか否かを判定する判定手段と、
     前記判定手段による判定結果を、前記コード画像を生成するのに使用した前記コード生成用パラメータに対応付けて記録する、または、前記判定手段による判定結果に基づいて、前記コード生成用パラメータに付与された優先順位を変更する記録手段と、
     をさらに備え、
     前記パラメータ取得手段は、前記判定手段により読取失敗と判定された場合に、次の優先順位のコード生成用パラメータを選択し直し、
     前記コード生成手段は、選択し直された前記コード生成用パラメータを使用して、前記コード画像を生成し直す、
     請求項2に記載の情報処理装置。
  4.  前記表示制御手段は、前記コード生成手段により前記複数候補の前記コード生成用パラメータを使用して生成された複数のコード画像の中の少なくとも複数を前記表示部に一括で表示する、
     請求項2または3に記載の情報処理装置。
  5.  前記パラメータ取得手段は、前記コード生成用パラメータを、前記表示部の仕様および前記コード体系に基づいて、算出する、
     請求項1乃至4いずれか1項に記載の情報処理装置。
  6.  前記パラメータ取得手段は、前記コード生成用パラメータを管理するサーバに自身の機種を示す情報および前記コード体系情報を送信し、前記サーバから自身の前記機種から特定される前記表示部の仕様および前記コード体系に対応した前記コード生成用パラメータを受信し、
     前記コード生成手段は、前記サーバから受信した前記コード生成用パラメータを使用して前記コード画像を生成する、
     請求項1乃至5いずれか1項に記載の情報処理装置。
  7.  端末装置から機種およびコード体系の少なくともいずれか一方の情報を受信し、コード体系情報およびコード生成用パラメータを使用して、ソース情報からコード化されたコード画像を表示する端末装置の機種毎および前記コード体系毎に、コード生成用パラメータを記憶するパラメータ記憶部を参照し、受信した情報に対応するコード生成用パラメータを前記端末装置に送信するパラメータ送信手段と、
    を備えるサーバ。
  8.  前記パラメータ記憶部は、前記コード生成用パラメータの優先順位を前記コード体系毎に前記コード生成用パラメータに対応付けて記憶し、
     前記コード生成用パラメータのスキャナによる読み取りが成功したか否かの判定結果を取得する判定結果取得手段と、
     取得した前記判定結果に基づいて、前記コード生成用パラメータに対応付けられた前記優先順位を更新する優先順位更新手段と、を備え、
     前記パラメータ送信手段は、複数の前記コード生成用パラメータを前記端末装置に送信する際に、前記優先順位を各コード生成用パラメータに付与して送信する、
     請求項7に記載のサーバ。
  9.  前記優先順位更新手段は、前記判定結果取得手段により複数の前記端末装置から取得された複数の前記判定結果の統計値に基づいて、前記優先順位を更新する、
     請求項8に記載のサーバ。
  10.  コンピュータに、
     コード体系情報とそのコード体系に基づいてコード化するソース情報を取得する手順、
     表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得する手順、
     取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成する手順、
     前記コード画像を前記表示部にドットバイドット表示または整数倍表示する手順、
    を実行させるためのプログラム。
  11.  情報処理装置が、
     コード体系情報とそのコード体系に基づいてコード化するソース情報を取得し、
     表示部の仕様および前記コード体系に対応するコード生成用パラメータを取得し、
     取得された前記コード体系情報および前記コード生成用パラメータを使用して、前記ソース情報がコード化されたコード画像を生成し、
     前記コード画像を前記表示部にドットバイドット表示または整数倍表示する、
     情報処理装置の情報処理方法。
PCT/JP2015/067473 2014-09-18 2015-06-17 情報処理装置、方法、およびプログラム WO2016042870A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016548594A JP6197960B2 (ja) 2014-09-18 2015-06-17 情報処理装置、方法、およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014190208 2014-09-18
JP2014-190208 2014-09-18

Publications (1)

Publication Number Publication Date
WO2016042870A1 true WO2016042870A1 (ja) 2016-03-24

Family

ID=55532915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/067473 WO2016042870A1 (ja) 2014-09-18 2015-06-17 情報処理装置、方法、およびプログラム

Country Status (2)

Country Link
JP (2) JP6197960B2 (ja)
WO (1) WO2016042870A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3715938A4 (en) 2017-11-22 2021-01-13 Nec Corporation COLORED CONTACT LENS, METHOD OF MANUFACTURING A COLORED CONTACT LENS, AND IRIS SNACKING SYSTEM
JP7477740B2 (ja) 2019-07-26 2024-05-02 フリュー株式会社 アーケードゲーム機、ゲーム提供方法、およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002028655A1 (fr) * 2000-10-05 2002-04-11 Ainix Corporation Procede de creation de codes d'identification en reseau et programme de creation de codes d'identification
JP2002117372A (ja) * 2000-10-11 2002-04-19 Sharp Corp バーコード作成方法、ならびにバーコード表示装置およびバーコード提供装置
US20140252097A1 (en) * 2006-04-27 2014-09-11 Codebroker, Llc Customizing barcode images for particular displays

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010008451A (ja) * 2008-06-24 2010-01-14 Panasonic Corp 表示装置
JP2014211709A (ja) * 2013-04-17 2014-11-13 富士フイルム株式会社 1次元バーコードリサイズ装置、方法およびプログラムならびに1次元バーコードシステム
JP5784764B2 (ja) * 2014-01-16 2015-09-24 株式会社Mrsホールディングズ バーコード命令生成装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002028655A1 (fr) * 2000-10-05 2002-04-11 Ainix Corporation Procede de creation de codes d'identification en reseau et programme de creation de codes d'identification
JP2002117372A (ja) * 2000-10-11 2002-04-19 Sharp Corp バーコード作成方法、ならびにバーコード表示装置およびバーコード提供装置
US20140252097A1 (en) * 2006-04-27 2014-09-11 Codebroker, Llc Customizing barcode images for particular displays

Also Published As

Publication number Publication date
JP2017224343A (ja) 2017-12-21
JP6197960B2 (ja) 2017-09-20
JP6465180B2 (ja) 2019-02-06
JPWO2016042870A1 (ja) 2017-04-27

Similar Documents

Publication Publication Date Title
US10382632B2 (en) Image processing unit, information processing system, program, and information processing method
JP6465180B2 (ja) 情報処理装置、および情報処理方法
JP2014211709A (ja) 1次元バーコードリサイズ装置、方法およびプログラムならびに1次元バーコードシステム
US20160330628A1 (en) Communication apparatus for performing wireless communication, method for controlling communication apparatus, and storage medium
US9412057B2 (en) Electronic device, method of displaying two-dimensional code, and recording medium with program recorded thereon
US9710210B2 (en) Image forming system, information processing device, tally information transmission method, and non-transitory computer readable recording medium
JP6592830B2 (ja) 画像形成装置
JP2013246542A (ja) 通信端末、通信端末制御プログラム、サーバー、サーバーの制御方法
US8359564B2 (en) Circuit design information generating equipment, function execution system, and memory medium storing program
JP5482335B2 (ja) マーカ配置装置、マーカ検出装置、及びプログラム
JP2018097504A (ja) 画像形成システム、画像形成装置、サーバー、および画像形成方法
JP2023024480A (ja) 情報処理装置及びその制御方法とプログラム
US20150121509A1 (en) Display apparatus that displays one-time password
US20200019563A1 (en) System for recommending content
JP6334467B2 (ja) バーコード命令生成装置
KR20140121509A (ko) 바코드를 제공하는 전자 디바이스 및 바코드 제공 방법
JP2017046101A (ja) 画像処理装置、画像処理方法、および制御プログラム
JP6627742B2 (ja) 情報処理装置及びプログラム
JP6613871B2 (ja) 情報処理装置、画像読み取り装置、および、プログラム
US9465564B2 (en) Printing control apparatus that controls switching between color mode and monochrome mode
US10666820B2 (en) Electronic device configured to obtain setting information from external device, method and recording medium for electronic device
JP2006203752A (ja) 画像表示装置及び表示制御プログラム
US10356256B2 (en) Communication apparatus, control method for communication apparatus, and storage medium for changing a version of an encryption communication protocol used for communication
JP2016200999A (ja) 印刷指示装置、印刷システム及びプログラム
JP5176940B2 (ja) 画像処理装置、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15841734

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016548594

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15841734

Country of ref document: EP

Kind code of ref document: A1