Patent Description:
In recent years, there have been known information processing apparatuses such as laptop personal computers (hereinafter referred to as laptop PCs (Personal Computers)) that use display screens as virtual input devices such as software keyboards. Further, there has been proposed an information processing apparatus capable of providing a multiple display environment, in which a plurality of display units can be used by the single information processing apparatus.

<CIT> relates to a portable information processing apparatus, a calling method thereof, and a computer-executable program. <CIT> describes a virtual input device using second touch-enabled display that includes an emulator to generate hardware input data based on intercepted touch data and send the hardware input data to an operating system.

Meanwhile, in general, when a virtual input device is implemented by software, there are concerns about security and privacy risks such as reading inputs to the virtual input device in an unauthorized manner from other software. For this reason, when implementing a virtual input device by software, the virtual input device is implemented as a tool that comes with an OS (Operating System) such as Windows (registered trademark), and other people are not allowed to implement their own virtual input devices in most cases. Therefore, in conventional information processing apparatuses, it has been difficult to achieve virtual input devices with a high degree of freedom mainly due to such OS restrictions.

The present invention has been made to solve the above-described problem, and an object of the invention is to provide an information processing apparatus and a control method that make it possible to achieve a virtual input device that provides a high degree of freedom while protecting confidentiality and privacy at the same time.

The scope of the invention is defined in the set of appended claims.

<FIG> is a block diagram illustrating an example of the functional configuration of the laptop PC according to the second embodiment.

The following will describe an information processing apparatus according to an embodiment and a control method of the present invention with reference to the accompanying drawings.

<FIG> is an external view illustrating an example of a laptop PC <NUM> according to a first embodiment. In the present embodiment, a description will be given of the laptop PC <NUM> as an example of an information processing apparatus.

As illustrated in <FIG>, the laptop PC <NUM> has a first chassis <NUM> and a second chassis <NUM>, and is configured such that a side surface of one chassis (the first chassis <NUM>) is engaged with a side surface of the other chassis (the second chassis <NUM>) by a hinge mechanism, and the first chassis <NUM> can be rotated with respect to the second chassis <NUM> around the rotation axis of the hinge mechanism.

Further, the laptop PC <NUM> has a touch screen <NUM> and a display unit <NUM>. The display unit <NUM> is placed on the first chassis <NUM> and functions as a main display unit. The touch screen <NUM> is placed on the second chassis <NUM>, and includes a display section <NUM> and a touch sensor section <NUM>.

In the present embodiment, a description will be given of an example in which an OSK (On Screen Keyboard), which is a virtual input device, is implemented by the touch screen <NUM> placed on the second chassis <NUM>.

<FIG> is a diagram illustrating an example of the major hardware configuration of the laptop PC <NUM> according to the present embodiment.

As illustrated in <FIG>, the laptop PC <NUM> includes a CPU <NUM>, a main memory <NUM>, a video subsystem <NUM>, the touch screen <NUM>, the display unit <NUM>, a chipset <NUM>, a BIOS memory <NUM>, a HDD <NUM>, an audio system <NUM>, a WLAN card <NUM>, a USB connector <NUM>, an imaging unit <NUM>, an embedded controller <NUM>, an input unit <NUM>, a power circuit <NUM>, and a MCU (Micro Control Unit) <NUM>.

In the present embodiment, the CPU <NUM>, the main memory <NUM>, the video subsystem <NUM>, the chipset <NUM>, the BIOS memory <NUM>, the HDD <NUM>, the audio system <NUM>, the WLAN card <NUM>, the USB connector <NUM>, the imaging unit <NUM>, the embedded controller <NUM>, the input unit <NUM>, and the power circuit <NUM> correspond to a main system <NUM> that performs the processing based on an OS (Operating System).

The main system <NUM> executes various types of processing on the basis of, for example, Windows (registered trademark).

The CPU (Central Processing Unit) <NUM> executes various types of arithmetic processing under program control to control the entire laptop PC <NUM>.

The main memory <NUM> is a writable memory that is used as an area for reading an executable program of the CPU <NUM> or as a work area for writing processing data of an executable program. The main memory <NUM> is composed of, for example, a plurality of DRAM (Dynamic Random Access Memory) chips. The executable program includes an OS, various drivers for hardware operation of peripheral devices, various services/utilities, application programs, and the like.

The video subsystem <NUM> is a subsystem for implementing functions related to image display and includes a video controller. This video controller processes drawing instructions from the CPU <NUM>, writes the processed drawing information to a video memory, reads the drawing information from the video memory, and outputs the read drawing information as drawing data (image data) to the display unit <NUM> and a display section <NUM>. The video subsystem <NUM> outputs, for example, via HDMI (High-Definition Multimedia Interface (registered trademark)) or DP (Display Port).

The touch screen <NUM> is placed on the second chassis <NUM> and includes the display section <NUM> and the touch sensor section <NUM>, as illustrated in <FIG>.

The display section <NUM> is, for example, a liquid crystal display or an e-paper, and displays image data on the display screen thereof.

The touch sensor section <NUM> is placed, being superimposed on the display screen of the display section <NUM>, and detects contact with an object (including a part of a human body) on the display screen of the display section <NUM>. The touch sensor section <NUM> outputs contact position information indicating a contact position, which is the position of contact within a detection area on the display screen, to the MCU <NUM>.

The display unit <NUM> is placed on the first chassis <NUM>, and functions as the main display unit of the laptop PC <NUM>. The display unit <NUM> is, for example, a liquid crystal display or an organic EL display, and displays image data on the display screen.

The chipset <NUM> includes controllers such as USB (Universal Serial Bus), serial ATA (AT Attachment), SPI (Serial Peripheral Interface) bus, PCI (Peripheral Component Interconnect) bus, PCI-Express bus, and LPC (Low Pin Count) bus, and a plurality of devices are connected thereto. In <FIG>, as examples of the devices, the BIOS memory <NUM>, the HDD <NUM>, the audio system <NUM>, the WLAN card <NUM>, the USB connector <NUM>, and the imaging unit <NUM> are connected to the chipset <NUM>.

The BIOS (Basic Input/Output System) memory <NUM> is composed of, for example, an electrically rewritable nonvolatile memory such as an EEPROM (Electrically Erasable Programmable Read Only Memory) or a flash ROM. The BIOS memory <NUM> stores a BIOS, system firmware for controlling the embedded controller <NUM>, and the like.

The HDD (Hard Disk Drive) <NUM> (an example of a nonvolatile storage device) stores an OS, various drivers, various services/utilities, application programs, and various types of data.

The audio system <NUM> records, reproduces, and outputs sound data.

The WLAN (Wireless Local Area Network) card <NUM> is connected to a network by a wireless LAN to perform data communication. Upon receipt of data from the network, for example, the WLAN card <NUM> generates an event trigger indicating the receipt of data.

The USB connector <NUM> is a connector for connecting a peripheral device or the like using the USB.

The imaging unit <NUM> is, for example, a web camera, and captures images. The imaging unit <NUM> is connected with the chipset <NUM> through, for example, a USB interface.

The embedded controller <NUM> is a one-chip microcomputer that monitors and controls various devices (peripheral devices, sensors, and the like) regardless of the system state of the laptop PC <NUM>. Further, the embedded controller <NUM> has a power supply management function for controlling the power circuit <NUM>. The embedded controller <NUM> is composed of a CPU, a ROM, a RAM and the like (not illustrated), and also includes multiple channel A/D input terminals, D/A output terminals, timers, and digital input/output terminals. Connected to the embedded controller <NUM> through the input/output terminals are, for example, the input unit <NUM>, the power circuit <NUM>, and the like, and the embedded controller <NUM> controls the operations thereof.

The input unit <NUM> is, for example, a control switch such as a power switch.

The power circuit <NUM> includes, for example, a DC/DC converter, a charge/discharge unit, a battery unit, an AC/DC adapter, and the like, and converts a DC voltage supplied from the AC/DC adapter or the battery unit into a plurality of voltages required to operate the laptop PC <NUM>. Further, the power circuit <NUM> supplies power to each part of the laptop PC <NUM> according to the control by the embedded controller <NUM>.

The MCU <NUM> is, for example, a processor including a CPU and the like, and functions as an independent embedded system different from the main system <NUM> by executing built-in firmware. The MCU <NUM> is connected to the chipset <NUM> by, for example, a USB interface. The MCU <NUM> generates image data of an input area for a virtual input device, and outputs the image data of the input area to the main system <NUM> by using a general-purpose interface (e.g., UVC (USB Video Class)) protected by the main system <NUM>.

Further, the MCU <NUM> outputs input information based on the detection information detected by the touch sensor section <NUM> in the input area as the input information accepted by the virtual input device to the main system <NUM> (the chipset <NUM>) by using the general-purpose interface protected by the main system <NUM> (e.g., a HID (Human Interface Device) class of USB ). The details of the MCU <NUM> will be described later with reference to <FIG>.

Referring now to <FIG>, the functional configuration of the laptop PC <NUM> according to the present embodiment will be described.

<FIG> is a block diagram illustrating an example of the functional configuration of the laptop PC <NUM> according to the present embodiment.

As illustrated in <FIG>, the laptop PC <NUM> includes the main system <NUM>, the touch screen <NUM>, and the MCU <NUM>. <FIG> illustrates only the major functional configuration of the present embodiment related to the invention as the configuration of the laptop PC <NUM>.

The main system <NUM> includes a USB driver <NUM> and an OSK application <NUM>.

The USB driver <NUM> is a function section implemented by the CPU <NUM> and the chipset <NUM>, and controls a USB interface. In the present embodiment, a HID class and a VIDEO class (UVC) are used as the USB interfaces.

The OSK application <NUM> is, for example, an API (Application Programming Interface) for using an OSK. When an OSK is used, the OSK application <NUM> first uses the HID class of the USB driver <NUM> to send OSK information, which is OSK setting information, to the MCU <NUM>. Here, the OSK information includes, for example, type information indicating the type of a virtual input device, and display position information indicating the display position of an input area in the display section <NUM>.

The OSK application <NUM> receives image data of the OSK (hereinafter referred to as "the OSK image data") output from the MCU <NUM> by using the VIDEO class of the USB driver <NUM>, and causes the OSK image data to be displayed at the display position of the input area in the display section <NUM> mentioned above. For example, if the input area of the OSK is a part of the display section <NUM>, then the OSK image data is overlaid on a part of the image data displayed on the display section <NUM> so as to generate display data, and the display data is output to the display section <NUM>.

Further, the OSK application <NUM> uses the HID class of the USB driver <NUM> to receive input information such as a key code of the OSK from the MCU <NUM>.

When the OSK is operated, the OSK application <NUM> receives, from the MCU <NUM>, feedback OSK image data based on the operation of the OSK by using the VIDEO class of the USB driver <NUM>, and causes the feedback OSK image data to be displayed at the display section <NUM>. Further, if the OSK image data has been compressed, then the OSK application <NUM> decompresses the compressed OSK image data and outputs the decompressed OSK image data to the display section <NUM>.

The MCU <NUM> includes an input processing section <NUM> and a display processing section <NUM>.

The input processing section <NUM> uses the HID class of the USB interface to receive the type information and the display position information from the main system <NUM>, and sets the type of the input area of a virtual input device according to the type information and sets the input area of the virtual input device according to the display position information. The input processing section <NUM> stores the type of the input area and the setting information of the input area in a storage (not illustrated). The type information includes, for example, an OSK, a touchpad, a handwriting input device, and the like. The input processing section <NUM> outputs the received type information and display position information to the display processing section <NUM> to generate OSK image data.

Further, the input processing section <NUM> acquires detection information detected by the touch sensor section <NUM>, and converts the detection information detected in the input area set as described above into input information such as a key code. The input processing section <NUM> uses the HID class of the USB interface to output the converted input information to the main system <NUM>.

Further, the input processing section <NUM> outputs the detection information of the touch sensor section <NUM> to the display processing section <NUM> to generate the feedback OSK image data according to the detection information.

The display processing section <NUM> generates the OSK image data on the basis of the type information and the display position information, and outputs the generated OSK image data to the main system <NUM> by using the VIDEO class (UVC) of the USB interface. The display processing section <NUM> may compress the generated OSK image data in a compression format such as JPEG (Joint Photographic Experts Group) and output the compressed OSK image data to the main system <NUM>.

The operation of the laptop PC <NUM> according to the present embodiment will now be described with reference to the accompanying drawings.

<FIG> is a diagram illustrating an example of the operation of the virtual input device of the laptop PC <NUM> according to the present embodiment. Here, a description will be given of an example in which the virtual input device is an OSK.

As illustrated in <FIG>, the main system <NUM> of the laptop PC <NUM> first outputs OSK information to the MCU <NUM> (step S101). The OSK application <NUM> of the main system <NUM> sends OSK information that includes, for example, type information and display position information, to the MCU <NUM> by using the HID class of the USB driver <NUM>.

Subsequently, the MCU <NUM> generates an OSK image (step S102). More specifically, the display processing section <NUM> of the MCU <NUM> generates, for example, OSK image data as displayed on the display section <NUM> of <FIG> according to the type information and the display position information. The input processing section <NUM> of the MCU <NUM> sets the input area and the type of the virtual input device according to the received type information and display position information.

Subsequently, the display processing section <NUM> of the MCU <NUM> outputs the generated OSK image data to the main system <NUM> by using the VIDEO class (UVC) of the USB interface (step S103). The display processing section <NUM> may compress the OSK image data by JPEG or the like and output the compressed OSK image data to the main system <NUM>.

Subsequently, the OSK application <NUM> of the main system <NUM> outputs the OSK image data received from the MCU <NUM> to the display section <NUM> (step S104). If the OSK image data has been compressed, the OSK application <NUM> decompresses the OSK image data. Further, the OSK application <NUM> outputs the OSK image data to the display section <NUM> by an interface such as HDMI (registered trademark) to cause the OSK image data to be displayed on the display section <NUM> such that the set input area and the OSK image data match in the touch sensor section <NUM>.

Subsequently, the display section <NUM> displays the received OSK image data (step S105). The display section <NUM> displays the OSK image data such that the OSK image data matches the input area of the OSK set in the touch sensor section <NUM>.

In the meantime, the touch sensor section <NUM> determines whether the input of the OSK has been detected (step S106). If the input of the OSK is detected (YES in step S106), then the touch sensor section <NUM> proceeds with the processing to step S107. If the input of the OSK is not detected (NO in step S106), then the touch sensor section <NUM> returns the processing to step S106.

In step S107, the touch sensor section <NUM> sends the detection information, which indicates that the input of the OSK has been detected, to the MCU <NUM>.

Subsequently, the input processing section <NUM> of the MCU <NUM> converts the detection information, which indicates that the input of the OSK has been detected, into a key code, and sends the converted key code to the main system <NUM> by using the HID class of the USB interface (step S108).

Subsequently, the OSK application <NUM> of the main system <NUM> accepts the received key code as an OSK input (step S109). The OSK application <NUM> uses the received key code as an input of various types of processing.

Further, the display processing section <NUM> of the MCU <NUM> generates an OSK input feedback image (step S110). The display processing section <NUM> generates an input feedback OSK image data in which, for example, the position of an OSK image corresponding to the position of a pressed key of the OSK is reversed.

Subsequently, the display processing section <NUM> of the MCU <NUM> outputs the generated input feedback OSK image data to the main system <NUM> by using the VIDEO class (UVC) of the USB interface (step S111).

Subsequently, the OSK application <NUM> of the main system <NUM> outputs the input feedback OSK image data received from the MCU <NUM> to the display section <NUM> (step S112).

Subsequently, the display section <NUM> displays the input feedback OSK image (step S113). The display section <NUM> displays a feedback image, in which, for example, the part of a pressed key of the OSK is reversed, according to the received input feedback OSK image data.

In the processing illustrated in <FIG>, the processing from step S102 to step S105 may be repeatedly carried out at predetermined time intervals.

As described above, the laptop PC <NUM> (information processing apparatus) according to the present embodiment includes the display section <NUM>, the touch sensor section <NUM>, the main system <NUM>, and the MCU <NUM>. The touch sensor section <NUM> is placed on the display section <NUM>, and detects the contact with an object on the display section <NUM>. The main system <NUM> performs processing based on an OS (e.g., Windows (registered trademark). The MCU <NUM> (embedded system) is an independent embedded system different from the main system <NUM>, and generates image data of an input area for a virtual input device and outputs the image data of the input area to the main system <NUM> by using a general-purpose interface protected by the main system <NUM>. Further, the MCU <NUM> outputs, as the input information accepted by the virtual input device, the input information based on the detection information detected in the input area by the touch sensor section <NUM> to the main system <NUM> by using the general-purpose interface protected by the main system <NUM>. Then, the main system <NUM> displays, on the display section <NUM>, the image data of the input area output from the MCU <NUM>.

Consequently, the laptop PC <NUM> according to the present embodiment achieves a virtual input device such as an OSK by the processing in the independent MCU <NUM>, thus making it possible to achieve a virtual input device that provides a high degree of freedom without being restricted by the OS (e.g., Windows (registered trademark)) of the main system <NUM>. In addition, since the laptop PC <NUM> according to the present embodiment outputs input information and image data of the input area to the main system <NUM> by using a general-purpose interface protected by the main system <NUM>, concerns about interference from other software can be reduced. In other words, in the laptop PC <NUM> according to the present embodiment, even if, for example, the OS of the main system <NUM> is infected with a computer virus, malware, or the like, there is no risk that inputs to the virtual input device will be read. Thus, the laptop PC <NUM> according to the present embodiment can achieve a virtual input device that provides a high degree of freedom while protecting privacy at the same time.

Further, the laptop PC <NUM> according to the present embodiment can achieve a virtual input device simply by adding the MCU <NUM>, which is an independent embedded system, so that a virtual input device with safety and a high degree of freedom can be achieved by adding a simple configuration.

Further, in the present embodiment, the MCU <NUM> outputs input information accepted by a virtual input device to the main system <NUM> by using the HID class of the USB interface, and outputs image data of an input area to the main system <NUM> by using the UVC.

The HID class of the USB interface and the UVC are both safe interfaces protected by an OS (e.g., Windows (registered trademark)), thus enabling the laptop PC <NUM> according to the present embodiment to protect privacy by a simple method.

Further, according to the present embodiment, the main system <NUM> sends the display position information indicating the display position of an input area in the display section <NUM> to the MCU <NUM>, and displays the image data of the input area output from the MCU <NUM> at the display position of the input area in the display section <NUM>. The MCU <NUM> sets the input area according to the display position information sent from the main system <NUM>.

Thus, the laptop PC <NUM> according to the present embodiment can properly create a virtual input device at any area of the display section <NUM>.

Further, according to the present embodiment, the main system <NUM> sends the type information indicating the type of a virtual input device to the MCU <NUM>. The MCU <NUM> sets the type of an input area according to the type information sent from the main system <NUM>.

Thus, the laptop PC <NUM> according to the present embodiment can properly support various types of virtual input devices.

Further, according to the present embodiment, the MCU <NUM> changes the image data of an input area according to the feedback based on input information accepted by a virtual input device.

Thus, the laptop PC <NUM> according to the present embodiment can achieve the display of feedback image based on input information of a virtual input device while protecting confidentiality and privacy at the same time.

Further, a control method according to the present embodiment is a control method of the laptop PC <NUM> provided with the display section <NUM>, the touch sensor section <NUM>, which is placed on the display section <NUM> and detects contact with an object on the display section <NUM>, the main system <NUM> which performs processing based on an OS (Operating System), and the independent MCU <NUM> different from the main system <NUM>, and the control method includes a first output step, a display step, and a second output step. In the first output step, the MCU <NUM> generates image data of an input area for a virtual input device, and outputs the image data of the input area to the main system <NUM> by using a general-purpose interface protected by the main system <NUM>. In the display step, the main system <NUM> displays the image data of the input area output by the MCU <NUM> on the display section <NUM>. In the second output step, the MCU <NUM> outputs, as input information accepted by a virtual input device, input information based on detection information detected in an input area by the touch sensor section <NUM> to the main system <NUM> by using the general-purpose interface protected by the main system <NUM>.

Consequently, the control method according to the present embodiment can achieve a virtual input device which provides the same advantages as those of the above-described laptop PC <NUM> and has a high degree of freedom while protecting confidentiality and privacy at the same time.

In the present embodiment described above, the example in which one OSK is implemented on the touch screen <NUM> has been described. Alternatively, however, a plurality of virtual input devices may be implemented on the touch screen <NUM>, as illustrated in <FIG>.

<FIG> is a diagram illustrating a modification example of the virtual input device of the laptop PC <NUM> according to the present embodiment.

<FIG> illustrates the display section <NUM> placed on the second chassis of the laptop PC <NUM>. The display section <NUM> displays two virtual input devices, namely, an OSK (area A1) and a handwriting input device (area A2).

In the example illustrated in <FIG>, the MCU <NUM> outputs input information of the two virtual input devices, namely, the OSK and the handwriting input device, to the main system <NUM>, and also generates two pieces of image data for the OSK (area A1) and the handwriting input device (area A2) and outputs the generated image data to the main system <NUM>.

Further, in the present embodiment described above, if the load of image data updating is large, or if a communication band available for image transfer by the USB is insufficient, or if it is desired to efficiently implement images, then the MCU <NUM> may divide image data into blocks and process each block as needed. This enables the laptop PC <NUM> to reduce the processing load and also makes it possible to decrease the communication band to be used.

A description will now be given of a laptop PC 1a according to a second embodiment with reference to the accompanying drawings.

In the second embodiment, a modification example provided with touch screens <NUM> in place of the display unit <NUM> displaying the main screen will be described.

<FIG> is a diagram illustrating an example of the major hardware configuration of the laptop PC 1a according to the present embodiment.

As illustrated in <FIG>, the laptop PC 1a includes a CPU <NUM>, a main memory <NUM>, a video subsystem <NUM>, two touch screens <NUM>, a display unit <NUM>, a chipset <NUM>, a BIOS memory <NUM>, a HDD <NUM>, an audio system <NUM>, a WLAN card <NUM>, a USB connector <NUM>, an imaging unit <NUM>, an embedded controller <NUM>, an input unit <NUM>, a power circuit <NUM>, and an MCU 40a.

<NUM>, the same parts as those in <FIG> described above will be assigned the same reference numerals and the descriptions thereof will be omitted.

In the present embodiment, the laptop PC 1a has two touch screens <NUM> (<NUM>-<NUM> and <NUM>-<NUM>). The touch screen <NUM>-<NUM> is placed on a first chassis <NUM> and functions as the main display unit. The touch screen <NUM>-<NUM> has a display section <NUM>-<NUM> and a touch sensor section <NUM>-<NUM>.

The touch screen <NUM>-<NUM> is placed on a second chassis <NUM>, and has a display section <NUM>-<NUM> and a touch sensor section <NUM>-<NUM>.

The touch screen <NUM>-<NUM> and the touch screen <NUM>-<NUM> have the same configuration, and will be therefore referred to as the touch screen <NUM> when any touch screen provided on the laptop PC 1a is referred to, or when these touch screens are not particularly distinguished.

Further, the display section <NUM>-<NUM> and the display section <NUM>-<NUM> have the same configuration as the display section <NUM> described above, so that the descriptions thereof will be omitted. In addition, the touch sensor section <NUM>-<NUM> and the touch sensor section <NUM>-<NUM> have the same configuration as that of the touch sensor section <NUM> described above, so that the descriptions thereof will be omitted here.

Further, in the present embodiment, the display section <NUM>-<NUM> and the display section <NUM>-<NUM> can be handled as a single display section <NUM>. In the display section <NUM>, the display section <NUM>-<NUM> may be referred to as a first display area, and the display section <NUM>-<NUM> may be referred to as a second display area.

The basic function of the MCU 40a (an example of an embedded system) is the same as that of the MCU <NUM> of the first embodiment described above. The MCU 40a differs from the MCU <NUM> of the first embodiment in that the MCU 40a performs virtual input device control on the two touch screens <NUM>.

Referring now to <FIG>, the functional configuration of the laptop PC 1a according to the present embodiment will be described.

<FIG> is a block diagram illustrating an example of the functional configuration of the laptop PC 1a according to the present embodiment.

As illustrated in <FIG>, the laptop PC 1a has a main system <NUM>, the two touch screens <NUM> (<NUM>-<NUM> and <NUM>-<NUM>), and the MCU 40a. <FIG> illustrates only the major functional configuration of the present embodiment related to the invention as the configuration of the laptop PC 1a. In <FIG>, the same parts as those in <FIG> described above will be assigned the same reference numerals and the descriptions thereof will be omitted.

The MCU 40a has an input processing section 41a and a display processing section 42a.

The input processing section 41a has the same function as that of the input processing section <NUM> of the first embodiment described above, but differs in that the input processing section 41a handles the two touch sensor sections (<NUM>-<NUM> and <NUM>-<NUM>).

The input processing section 41a uses the HID class of a USB interface to receive type information and display position information from the main system <NUM>, and sets the type of an input area of a virtual input device according to the type information, and also sets the input area of the virtual input device according to the display position information. Further, the input processing section 41a outputs the received type information and display position information to the display processing section 42a to generate OSK image data.

In addition, the input processing section 41a acquires detection information detected by the two touch sensor sections (<NUM>-<NUM> and <NUM>-<NUM>), and converts the detection information detected in the input area set as described above into input information such as a key code. The input processing section 41a outputs the converted input information to the main system <NUM> by using the HID class of the USB interface.

Further, when an input in the input area set as described above is detected, the input processing section <NUM> outputs the detection information of the two touch sensor sections (<NUM>-<NUM> and <NUM>-<NUM>) to the display processing section 42a to generate feedback OSK image data according to the detection information.

Based on the type information and the display position information, the display processing section 42a generates OSK image data for the display section <NUM>-<NUM> and the display section <NUM>-<NUM>, and outputs the generated OSK image data to the main system <NUM> by using the VIDEO class(UVC) of the USB interface.

An OSK application <NUM> of the present embodiment receives the OSK image data, which is output from the MCU 40a, by using the VIDEO class of a USB driver <NUM>. If the OSK image data indicates the virtual input device of the display section <NUM>-<NUM>, then the OSK application <NUM> outputs display data A for displaying the OSK image data at the display position of the input area of the display section <NUM>-<NUM> so as to cause the display section <NUM>-<NUM> to display the OSK image data. Further, if the OSK image data indicates the virtual input device of the display section <NUM>-<NUM>, then the OSK application <NUM> outputs display data B for displaying the OSK image data at the display position of the input area of the display section <NUM>-<NUM> so as to cause the display section <NUM>-<NUM> to display the OSK image data.

As described above, the laptop PC 1a according to the present embodiment includes the main system <NUM>, the two touch screens <NUM> (<NUM>-<NUM> and <NUM>-<NUM>), and the MCU 40a. The MCU 40a controls the virtual input devices corresponding to the two touch screens <NUM> (<NUM>-<NUM> and <NUM>-<NUM>).

Consequently, the laptop PC 1a according to the present embodiment enables a virtual input device to be used also for <NUM>-<NUM>, which displays the main screen, thus making it possible to achieve a virtual input device that provides an even higher degree of freedom while protecting privacy at the same time.

Further, in the present embodiment, the display section <NUM> may include a display section <NUM>-<NUM> (a first display area) that displays the image data of the main screen of the main system <NUM> and a display section <NUM>-<NUM> (a second display area) that displays image data including the image data of an input area.

Consequently, the laptop PC 1a according to the present embodiment can flexibly display various image data by using the two display areas (the display section <NUM>-<NUM> and the display section <NUM>-<NUM>).

In the above-described embodiments, the description has been given of the examples in which the information processing apparatus is the laptop PC <NUM> (1a); however, the present invention is not limited thereto, and the information processing apparatus may alternatively be other information apparatus such as a tablet terminal device or a desktop PC.

Further, in the above-described second embodiment, the description has been given of the example in which the display section <NUM> is used by being divided into the two display areas (the display section <NUM>-<NUM> and the display section <NUM>-<NUM>), or the example in which the laptop PC 1a has the two display sections <NUM> (<NUM>-<NUM> and <NUM>-<NUM>); however, the present invention is not limited thereto. For example, the display section <NUM> may be used by being divided into three display areas, or the laptop PC 1a may include three or more display sections <NUM>.

Further, in the above-described embodiments, the description has been given of the example, in which the input device that implements the OSK, as an example of the virtual input device; however, the present invention is not limited thereto. The virtual input device may alternatively be, for example, a handwriting input device, a software keyboard, a pointing device, or the like.

Further, in the above-described embodiments, the examples in which the MCU <NUM> (40a) generates the feedback OSK image data have been described. Alternatively, however, the MCU <NUM> (40a) may generate sound data, such as clicking sounds, together with the OSK image data.

Each constituent included in the above-described laptop PC <NUM> (1a) has a computer system therein. Further, the processing in each constituent included in the above-described laptop PC <NUM> (1a) may be carried out by recording a program for implementing the function of each constituent included in the above-described laptop PC <NUM> (1a) on a computer-readable recording medium, and by reading the program recorded on the recording medium into the computer system to execute the program. Here, "reading a program recorded on a recording medium into a computer system to execute the program" includes installing a program in a computer system. The term "computer system" as used herein includes an OS and hardware such as peripheral devices.

Further, "the computer system" may include a plurality of computer devices connected via networks including the Internet, a WAN, a LAN, and communication lines such as a dedicated line. Further, "the computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM or a CD-ROM, or a storage device such as a hard disk incorporated in a computer system. Thus, a recording medium storing a program may be a non-transient recording medium such as a CD-ROM.

Further, the recording medium also includes an internally or externally provided recording medium that can be accessed from a distribution server to distribute the program. The program may be divided into a plurality of segments, which are downloaded at different timings and then combined in each constituent included in the laptop PC <NUM> (1a), or the distribution server for distributing each segment of the divided program may be different. Furthermore, "the computer-readable recording medium" also includes one that retains a program for a predetermined time such as a volatile memory (RAM) inside a computer system that acts as a server or a client when a program is sent via a network. Further, the above-described program may be for implementing a part of the above-described functions. In addition, the above-described program may be a so-called difference file (difference program), which can implement the above-described functions in combination with a program already recorded in the computer system.

Claim 1:
An information processing apparatus (<NUM>) comprising:
a display unit (<NUM>);
a touch sensor section (<NUM>) which is placed on the display unit (<NUM>) and detects contact with an object on the display unit (<NUM>);
a main system (<NUM>) which performs processing based on an Operating System; and
an embedded system (<NUM>) which is an independent embedded system (<NUM>) different from the main system (<NUM>) in that the embedded system (<NUM>) comprises a processor that executes built-in firmware, the embedded system (<NUM>) arranged to generate image data of an input area for a virtual input device, output the image data of the input area to the main system (<NUM>) by using a USB Video Class, UVC, of a USB interface, and also output input information, which is based on detection information detected in the input area by the touch sensor section (<NUM>), as input information accepted by the virtual input device to the main system (<NUM>) by using a Human Interface Device class of the USB interface,
wherein the main system (<NUM>) displays, on the display unit (<NUM>), image data of the input area output by the embedded system (<NUM>).