This Background is intended to provide the basic context of this patent application and it is not intended to describe a specific problem to be solved.
Portable computing devices continue to gain in popularity. The uses and usability continues to increase such that many tasks that could only be completed on a personal computer can now be completed on a portable computing device. As a result, more and more information and data is being gathered on portable computing devices. User still often want to move data from portable computing devices for a variety of reasons, from centralized to storage to being able to better examine the data from the portable media device on a larger display.
At the same time, monitor prices for personal computers continues to fall. Monitors get larger and larger and cheaper and cheaper. As a result, users often have large monitors or multiple monitors. Operating system software also continues to increase in functionality to allow the control of large monitors or multiple monitors.
In addition, sometimes users desire to share data with other portable computing devices. The display sizes on these devices also will vary widely. Not surprisingly, users are unsure of how communicated data from a personal computing device with a displayed on a second computing device with a different size monitor.
Challenges arise when moving data from a portable computing device to a personal computer with a large monitor or with multiple monitors. Users often become confused on where data that is communicated to the personal computer will be view, what data will be viewed and what size the data will be when it is communicated from the relatively small display on the portable media player to the larger display (or displays) of a personal computer.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
A method and system is described for displaying input from a portable computing device to a second computing device. On the second computing device, a display region is created. The region may be a stand alone application or a region inside an application. The second computing device then receives a communication that represents the portable input on the portable computing device. The portable input is then scaled to fit the display region and the portable input is displayed on the second computing device. The scaling may occur in a variety of ways, such as having a length adjustment factor, a width adjustment factor and a resolution adjustment factor. As a result of the system and method, portable input from the portable computing device will be displayed in a controlled manner, in a designated display region, rather than filling up an entire display or displays.
Although the following text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
It should also be understood that, unless a term is expressly defined in this patent using the sentence “As used herein, the term ‘______’ is hereby defined to mean . . . ” or a similar sentence, there is no intent to limit the meaning of that term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be interpreted to be limited in scope based on any statement made in any section of this patent (other than the language of the claims). To the extent that any term recited in the claims at the end of this patent is referred to in this patent in a manner consistent with a single meaning, that is done for sake of clarity only so as to not confuse the reader, and it is not intended that such claim term by limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by reciting the word “means” and a function without the recital of any structure, it is not intended that the scope of any claim element be interpreted based on the application of 35 U.S.C. § 112, sixth paragraph.
In some embodiments, the device 100 may be separable into two portable devices. A first portable device 130 may include the input area 110 and an interface 140 for a second portable device 150. The second portable device 150 may contain a display 120 and an interface 140 to communicate with the first portable device 130. The second portable device 150 may contain a processor, the first portable device 130 may contain a processor or both may contain a processor.
The device 100 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape or any other memory that can be easily rewritten, may keep data for long periods of time when power is removed and may allow quick and efficient access to data. Such additional storage is illustrated in
The processing unit 220 may be any processing unit 220 capable of executing computer code to decode data from a compressed format into a useable form fast enough such that music and video may be played continuously without skips or jumps. It may also be useful if the processor 220 is efficient in using power to increase the life of the power source. The device 100 may also contain communications connection(s) 270 that allow the device 100 to communicate with other devices. Communications connection(s) 270 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
The power source may be a battery that may be rechargeable. The power source may also be a standard battery, an input from a power converter or another portable power source. The display 120 may be a color LCD screen or other display type that fits inside the device 100.
At block 300, on the second computing device 520, a display region 500 may be created. The display region 500 may be inside a “traditional” application such as Microsoft Word® or Microsoft Paint® or may be in a specifically designed application to display portable input 540 from the portable computing device 100. The display region 500 may be created in a variety of ways. In one embodiment, an input device such as a mouse is used to drag and create the display region 500 of a desired size. In another embodiment, the display region 500 is created by entering numerical information that establishes the size of the region. In yet another embodiment, the size of past display regions 500 is used as a default value for future display regions 500. These are just examples and not limitations. Other manners of creating the display region 500 are possible and are contemplated.
An application 510 may be selected to display portable input 540 data from the portable computing device 100. The application 510 may be virtually any computing program that is capable of receiving inputs from a separate computing device. As an example and not limitation, a word processing program on the second computer may be configured to receive input data 540 from the portable computing device 100. The portable input 540 may be drawings or other data that is communicated to the portable computing device 100.
The portable input 540 may be communicated through the input area 110 or may be loaded as a file. The portable input 540 may have a size, such as a length and a width, and a resolution. The size may be the length of the entire input area 100 or just the area that actually contains portable input. For example and not limitation, the portable input 540 may be hand drawn notes or clip art loaded into the portable computing device 100. The portable input 540 also may be animations, movies, music or any other file or data type.
In another embodiment, the display region 500 may be created on the portable computing device 100. In one embodiment, a list of available applications is communicated to the portable computing device 100 from the second computing device 520. In some embodiments, a default application 510 is already listed in the portable computing device 100. An application 510 may then be selected to display the portable input 540. The size of the display region 500 may be set using numerals to indicate a length and a width of the display region 500. In another embodiment, a graphical tool is used to indicate the desired size of the display region 500. The portable input 540 and the display region 500 data may then be communicated to the second computing device 520. Of course, other manners of creating the display region 500 are possible and are contemplated.
At block 310, communication data may be received at the second computing device 520 from the portable computing device 100. The communication data may include a wide variety of information and may change based on a variety of factors. For example, if battery life is low, a minimum amount of data may be communicated. As another example, if a wireless communication signal is strong, additional data may be communicated.
The communication data may include data that represents the portable input 540. The data may be a “picture file” of what is displayed on the portable input 540 such as a jpeg or bmp file. In another embodiment, the file contains searchable text in the file. Of course, the file may contain virtually any relevant data. The data may contain only the part of the input pad 110 that contains data inputted by the user. In this way, the data communicated may be minimized. In another embodiment, the data may contain text that may be searchable. If the file is all text, it may be created as a text file. Of course, any appropriate file type may be used.
The form of the communication of the input may also be in a variety of forms. In one embodiment, the portable input 540 may be translated into Remote Network Device Interface Specification (RNDIS) information and may be communicated via User Datagram Protocol (UPD) packets where the UPD packets include the RNDIS information. Of course, other formats are possible and are contemplated.
At block 320, a scaling factor that adjusts the portable input 540 from the portable computing device 100 to the display region 540 may be created. In one embodiment, the scaling factor is created by dividing a size of the display region 500 by a size of the portable input pad 110 is created. The scaling factor may take on a variety of forms, may be calculated in a variety of ways and may be applied in a variety of manners. The overall goal of the scaling factor is to take the portable input 540 and either expand it or shrink it to fit the display region 500. Other concerns may be to avoid distorting the portable input 540 and ensuring that the portable input 540 is easily readable on the display device 550.
In one embodiment, a width adjustment may be calculated for adjusting a width of the portable input to properly fit the display region 500. A width of the display region 500 may be divided by a width of the portable input 540 and multiplying a width of the portable input 540 by the width adjustment. For example, if the portable input 540 width is 2 and the display region 500 is 6, the width adjustment will be 3 (6/2=3).
Similarly, a length adjustment may be calculated for adjusting a length of the portable input area 110 display to properly fit the display region 500. The length of the display region 500 may be divided by a length of the portable input 540 and multiplying a length of the portable input 540 by the length adjustment. For example, if the portable input 540 length is 3 and the display region 500 length is 12, the length adjustment will be 4 (12/3=4).
In some embodiment, the resolution of the display device 550 may be taken into account as part of the scaling factor. The resolution adjustment may adjust the resolution of the portable input 540 in view of the resolution of the display device 550. In other embodiments, the resolution of the input area 110 is taken into account. By knowing the resolution, the manner of adjusting the size and shape of the portable input 540 may be adjusted to fit the resolution.
In some embodiments, the entire portable input area 110 is as the portable input 540. In other embodiments, only the areas with user input are used as the portable input 540 which may save bandwidth and reduce the data communicated from the portable computing device 110 to the second computing device 520.
At block 330, an adjusted input display 530 may be created by adjusting the portable input 540 by the scaling factor from block 320. Again, the scaling can be accomplished in a variety of ways. In one embodiment, a scaling factor is used where the scaling factor increases or decreases the size of the portable input 540 as required to fit the display region 500. In some cases, the portable input 540 may be stretch more in one direction than the other to fit the display region 500. In another embodiment, the length and the width of the portable input 500 are adjusted using the length adjustment and the width adjustment. In another embodiment, the resolution of the input area 110 on the portable device 100 and the display 550 on the second computing device 520 are compared and a factor is used to convert the portable input 540 to the display region 500.
In some embodiments, a transform matrix is used to match the size of the portable input 540 to the size of the display region 500. For scaling (that is, enlarging or shrinking), x may be the size of the portable input 540 in the x dimension, y may be the size of the portable input 540 in the y direction and x′ may be the size of the display region 500 on the second computing device 520 in the x direction and y′ may be the size of the display region 500 on the second computing device 520 in the y direction, the equation may look like x′=sx·x and y′=sy·y where sx and sy are adjustment factors similar to the length and width factors. The transform matrix form would be:
In some embodiments, the scaling factor can be adjusted by a multiplier. This multiplier may be selectable. In this way, select parts of the portable input may be reduced or enlarged.
When the portable input 540 is converted to adjusted input 530, it may be displayed in a variety of ways. In one embodiment, the adjusted input display 530 is used as mouse display input data. In other words, the adjusted input display 530 directs a virtual mouse to draw in the display region 500 as if drawing with a mouse. In another embodiment, the data is converted into a bitmap which is displayed in the display region 500.
Of course, much of the described method could also take place on the portable computing device 100.
At block 410, an application on the second computing device 520 may be selected to display the portable input 540 from the portable computing device 100. The application may be selected from the list received at block 400 or may be from a list of applications received previously.
At block 420, a display region 500 size may be created for the application to display the portable input 540 from the portable computing device 100. The size may be a length and a width and it may include a resolution element.
At block 430, the portable input 540 may be adjusted by a scaling factor to fit the display region 500. The scaling factor may be a width adjustment for the display region 500 which may be calculated by taking a width of the display region 500 and dividing it by a width of the portable input 540 to create the width adjustment. The scaling factor also may include a length adjustment which may be calculated by taking a length of the display region 500 and dividing it by a length of the portable input 540. A resolution factor also may be created to match the resolution from the portable computing input area 110 to the display 550 on the second computing device 520.
At block 440, data may be communicated from the portable computing device 100 to the second computing device 520 where the data represent the portable input 540. As described previously, the data may be communicated in a variety of forms and in a variety of ways.
In the past, a communication from a portable computing device 100 would take up the entire display 550 of the second computing device 520, including multiple displays 550 if the second computer had multiple displays. As a result, the portable input 540 was often so large as to be unreadable and unmanageable. In the method, the size of the display region 500 on the second computing device 520 can be controlled such that the portable input 540 does not overtake the entire display (or displays) 550 of the second computing device 520. In addition, even when received inside a specific application 510, a display region 500 may be created inside the application 510 such that the portable input will be converted to an adjusted input display 530 that does not dominate the entire application 510 but stays in the designated display region 500. A benefit is that data from a portable computing 100 device such as a digitizer is more useful as the size of the input is controllable.