Cube puzzles are devices that typically have six faces, each face having nine blocks. The blocks may have one of six colors. There may be nine blocks of each color. The positions of the blocks may be changed on each face of the cube puzzle. A block may be moved from one face to another. The cube puzzles may be used to match particular patterns on one or more faces.
The original cube puzzles were pure mechanical devices. In recent years, smart cube puzzles with processor and/or wireless transceivers have been made that may provide hints or feedback to a person using the cubes to facilitate matching a particular pattern or to teach different skills of solving the cube puzzle.
The various embodiments of the present collaborative image synthesis from three dimensional cubes now will be discussed in detail with an emphasis on highlighting the advantageous features. These embodiments depict the novel and non-obvious collaborative image synthesis from three dimensional cubes shown in the accompanying drawings, which are for illustrative purposes only. These drawings include the following figures, in which like numerals indicate like parts:
Some of the present embodiments may receive an image to be revealed by a group of participants in a game, a challenge, or a social media event. The game, challenge, or social media event may be administered by a computing device, such as a server. The participants may use cube puzzles, for example, a cube puzzle that may have 6 sides, each side having the same number of rows and blocks. The most common type of cube puzzles have nine blocks (i.e., 3 rows and 3 columns) on each one of their 6 faces (or sides). However, each face of some cube puzzles may include other plurality of blocks, such as for example and without limitations, 4, 16, 25, etc. To maintain simplicity, several examples of cube puzzles with nine blocks on each sides are described below. However, it should be understood that the present embodiments are applicable to cube puzzle that may include other number of blocks on each face than nine.
Each block of a cube puzzle may have one of 6 different colors. The cube puzzle may have an equal number of the blocks with the same color. Each side of the cube puzzle may be configured to rotate about an axis such that the orientation of the blocks is changed relative to other sides of the cube. In addition to changing the orientation of the blocks associated with the rotated face, the blocks may be moved so as to be associated with a different side. Each participant may be assigned a small region of the image and may rearrange the blocks of participant's cube puzzle such that the colors of the blocks on one side of the cube puzzle match the colors of the blocks in the participant's assigned region of the image.
The image may be a photograph, a painting, a drawing, etc. The image may be divided into a plurality of blocks. The image may be divided such that the number of blocks in the horizontal direction and the number of blocks in the vertical direction may be divisible by three to facilitate matching different regions on cube puzzles that have nine blocks on each side.
The image colors may then be transformed such that the color of the pixels in each block to be one of the 6 different colors that the blocks of a cube puzzle may have. Some embodiments may calculate the difference between the color of the pixels in each block with each of the 6 colors and may select one of the 6 colors for the block with the least calculated difference. The original color pixels of each block (i.e., the color pixels of each block prior to transforming the block to a unicolor block) may be stored in a storage for later display.
A plurality of adjacent unicolor blocks of the transformed image may be grouped into a region, where the region includes the same number of rows and columns as each face of the cube puzzles that are used in the game, challenge, or event. For example, when each face of the cube puzzles has nine blocks, the unicolor blocks of the transformed image may be grouped into a region of three rows and three columns. One or more regions may be assigned to each person participating in revealing the image. A participant may have a cube puzzle and a computing device. The computing device of the participant may receive and store the pattern of the region(s) assigned to the participant.
The image to be revealed may start being revealed with blank pixels. For example, all pixels may have the same generic color, such as gray or black pixels. In some embodiments at least some of the participants may be in a common area and the image to be revealed may be displayed on a screen located in the common area. In some embodiments, the image to be revealed may be sent to the computing devices of the participants and may be displayed on the computing device of the participant. Each participant may change the orientation of the blocks relative to other sides of the cube and/or may move the blocks to be associated with a different side until the color of the nine blocks on one side of the cube puzzle match the colors of the nine unicolor blocks of the region that the participant was assigned.
The participant's computing device may send a message to the server indicating that one side of the participant's cube puzzle has matched the color pattern of the assigned region. In some embodiments, some or all cube puzzles may include a processor and/or a wireless transceiver that may automatically send the message to the server once one side of the cube puzzle matches the assigned region. In some embodiments, some or all cube puzzles may be pure mechanical devices. In some of these embodiments, a picture of the side that matches the assigned region may be taken and sent to the server. In other embodiments, the participant or a proctor may send the message, through a computing device, to the server indicating that one side of the cube puzzle has matched the assigned region.
The corresponding region in the image may then be revealed by the server. A copy of the partially revealed image may be sent to computing devices of all participants and/or the partially revealed image may be displayed on a screen at a place where at least some of the participants are physically present. The image may be gradually revealed as the participants match one side of their cube puzzle to the color of the blocks to their assigned regions.
Once a region of the image is matched on the face of a participant's cube puzzle, some embodiments may reveal the unicolor of the blocks of the region. Other embodiments may reveal the original colors of the blocks in the region. Some embodiments may transition from the unicolor blocks to the original color blocks, for example, with an animation. Some embodiments may reveal the original color as each region is matched by a participant. Other embodiments may display the original colors after all regions on the image are matched by the participants.
When a participant matches an assigned region to the face of the participant's cube puzzle, the participant may be assigned more regions of the image to match on the participant's cube puzzle. The server may assign the next region for the participant, or the participant may select a new region from all available ones. Some embodiments may give scores to the participants for the numbers regions they match, for the speed they match their assigned region, etc. Some embodiments may allow participants to guess what the image is as different regions on the image are revealed and may assign points and/or prizes for correctly guessing the image.
The remaining detailed description describes the present embodiments with reference to the drawings. In the drawings, reference numbers label elements of the present embodiments. These reference numbers are reproduced below in connection with the discussion of the corresponding drawing features.
Some of the present embodiments may receive an image to be revealed by a group of participants in a game, a challenge, or a social media event. The colors of the pixels in the image may be transformed to a set of 6 colors in order to facilitate matching different regions of the image to the faces of cube puzzles that may include block having one of the 6 colors.
In stage 102, the image 130 may be divided into a plurality of blocks 180. Only a few of the blocks 180 are labelled for clarity. Each block 180 may include one or more pixels. When a block 180 has more than one pixel, the pixels may have the same or different arbitrary colors.
The blocks 205 may include one of 6 colors. In the example of
Each side of the cube puzzle 200 may be configured to rotate about an axis such that the orientation of the blocks may be changed relative to other sides of the cube. In addition, the blocks on one side of the cube puzzle 200 may be moved so as to be associated with a different side of the cube puzzle 200. In some embodiments, some or all cube puzzles used to match to the regions of an image may be fully mechanical. In some embodiments, some or all cube puzzles used may include a processor and a wireless transceiver in order to provide hints and feedback to computing devices of the participants, to communicate to the server(s) that administer the revealing of the image, etc. Although the cube puzzle of
The transforming of the color of the image 130 of
The image processing server(s) 310, in some embodiments, may host the image that is to be revealed. In other embodiments, the image processing server(s) 310 may send the image that is to be revealed to one or more image hosting servers 330. The image hosting servers 330 may be computing devices such as, for example, and without limitations, servers of social media sites such as Instagram or Facebook. Alternatively, instead of using the server(s) 310 and/or the server(s) 330, some embodiments may have a cube puzzle application program that may be executed on a computing device such as a desktop, a laptop, a smartphone, a tablet computer, etc.
With further reference to
The client devices 301-307 may be associated with participants who may be collaborating or competing to reveal one or more images. Each participant may use a cube puzzle 351-352. Some of the cube puzzles, such as cube puzzles 351, may be mechanical devices. Some of the cube puzzles, such as cube puzzles 352, may be electro-mechanical devices that may include one or more processors and/or one or more wireless transceivers to provide hints and feedbacks to the computing devices of the participants, to communicate to the server(s) 310 and/or 330, etc.
The image processing server(s) 310 may transform the original images, such as the first image 130 of
Referring back to stage 102 of
In stage 103, a second image 140 may be generated from the first image 130. The first image 130, in stage 103, may be transformed into the second image 140 with blocks that each may include one of only 6 colors that is used for the blocks of the cube puzzles 200 (
Some embodiments may calculate the difference between the color of the pixels in each block with each of the 6 colors and may select one of the 6 colors for the block with the least calculated difference. As an example, the color brown 126 of the image 130 may be transformed into the color orange (labelled O) in the image 140. As another example, the colors red 112, maroon 122, and scarlet 125 in the image 130 may all be transformed into the color red (labelled R) in the image 140.
The original image 130 may be expressed in digital format as a plurality of pixels. Each pixel may have 3 or 4 color components to represent the color of the pixel. The pixel color components may be expressed, for example, and without limitations, in RGB (red-green-blue) format, CMYK (cyan, magenta, yellow, and key) format, HSL (hue, saturation, lightness) format, HSV (hue, saturation, value) format, etc.
Each one of the above-mentioned color models express the color of pixel by a set of 3 or 4 parameters. For example, the three RGB components may be expressed as three 8-bit numbers for each pixel. Each 8-bit RGB component may have 256 possible values, ranging from 0 to 255. For example, the three values (250, 165, 0), meaning (Red=250, Green=165, Blue=0), denote one orange pixel. Other examples include (255, 0, 0) denoting red, (0, 255, 0) denoting green, (0, 0, 255) denoting blude, (0, 0, 0) denoting black, (128, 128, 128) denoting gray, and (255, 255, 255) denoting white.
To map one pixel of an arbitrary color on the image 130 to one of the 6 colors of a cube puzzle 200, some embodiments use a minimum distance algorithm. If the arbitrary pixel on the image 130 is represented by (R, G, B) and the yellow color of the cube's pixels is represented by (Ry, Gy, By), then the distance between the arbitrary pixel of the image and the yellow color of the cube 200 (
(R−Ry)**2+(G−Gy)**2+(B−By)**2 Eq. (1)
The same calculation is done for other 5 colors of cube and the distance between the pixel on the image and all 6 colors of the cube may be calculated. When the blocks of the image 130 have only one pixel, some embodiments may identify one of the 6 colors of the cube that has the minimum calculated distance with the single pixel of each image block and may set the color of a pixel in the corresponding block of the image 140 to the color with the minimum calculated distance.
When the blocks of the image 130 have multiple pixels, some embodiments may first map each pixel of the block to one of the 6 colors of the cube using Equation (1) and then may select the color (out of the 6 colors) that is repeated the most for all pixels of the block. The color of all pixels in the corresponding block of the image 140 may then be set to the selected color. Alternatively, some embodiments may first average each one of the R, G, and B components of all pixels of the block to arrive at one set of averaged RGB values. The distance of that one averaged set of RGB values to the 6 colors of the cube may then be calculated using the Equation (1). One of the 6 colors of the cube that has the minimum calculated distance with the averaged set of RGB values may then be selected. The color of all pixels in the corresponding block of the image 140 may then be set to the selected color. A similar approach is used for the embodiments that use other color models, such as, for example, CMYK, HSL, HSV, etc.
With reference to
With further reference to stage 103 of
The image of different regions 155 (e.g., the image of the nine blocks shown in the expanded view 150) may be assigned, and may be sent, by the server(s) 310 of
It may be possible that multiple regions of 3 by 3 boxes in the image 140 may have the same color pattern and may be mapped to the same 3 by 3 block face of a cube puzzle.
With reference to
There may be multiple ways to recognize that the cube puzzle of a participant has matched the assigned region. In the cube puzzles that include a processor (e.g., the cube puzzles 352 of
As the participants match different regions of the image to the faces of their cube puzzles, the image may be gradually revealed.
The image to be revealed 140 may be hosted by a computing device, such as the image processing server(s) 310 of
With further reference to
In addition to, or in lieu of revealing the unicolor region 411, some embodiments may retrieve the original multicolor region of the image 130 (
Stage 603 shows the image 140 after the region 412 of
With further reference to
With continued reference to
With reference to
A second image with a second plurality of blocks may be generated (at block 710) from the first image such that each block of the second image is a unicolor block that corresponds to one or more blocks of the first image and has one of the 6 colors of a cube puzzle. For example, as described above with reference to stage 103 of
The blocks of the second image are grouped (at block 715) into regions with the same number of blocks as the sides of each cube puzzle. For example, as described above with reference to
One or more regions of the second image are assigned (at block 720) to each of a set of one or more cube puzzles. For example, as described above with reference to
The colors of the blocks of each region may be sent (at block 725) to the electronic devices that are associated with the cube puzzles to which the regions are assigned. For example, as described above with reference to
A determination may be made (at block 720) whether an indication is received from one of the electronic devices that the associated cube puzzle has matched the colors of an assigned region to a side of the cube puzzle. For example, as described above with reference to stage 602 of
The specific operations of the process 700 may not be performed in the exact order shown and described. Furthermore, the specific operations described with reference to
In some embodiments, the participants may use a cube puzzle that includes one or more processors (or controller). The cube puzzle, in some embodiments, may include one or more wireless transceivers. The wireless cube puzzle, for example, and without limitations, may include a Bluetooth and/or a Wi-Fi transceiver. A cube puzzle with processor(s) and/or wireless transceiver(s) is described in U.S. Pat. No. 10,643,494, entitled “Cube Puzzle Solver,” and U.S. Pat. No. 10,810,905, entitled “Smart Cube Puzzle and User Device Application.” The contents of the U.S. Pat. No. 10,643,494 and of the U.S. Pat. No. 10,810,905 are hereby incorporated by reference.
The cube puzzle may be a device that may have 6 sides, each side having a number of blocks (e.g., 4 blocks, 9 blocks, 16 blocks, 25 blocks, etc.). Each side may be able to be rotated about an axis such that the orientation of the blocks is changed relative to other sides of the cube (e.g., by rotating a face clockwise by ninety degrees, one hundred eighty degrees, two hundred seventy degrees, etc.). In addition to changing the orientation of the face of the blocks associated with the rotated face, other blocks may be moved so as to be associated with a different side. For instance, corner blocks of the cube may be associated with three faces of the cube where movement of a particular face may cause one or more faces of each block to be associated with a different side.
A cube puzzle may have square sides and square blocks. The cube puzzle may be in a solved state when the blocks of one or more sides all match a particular color pattern. In some embodiments, the default solved state may be a state where all faces have the same color blocks. However, the cube puzzles of the present embodiments may include different solved states. For example, the solved state may be a state where the color pattern of the blocks on one face of the cube puzzle matches the color pattern of a region of the image being revealed.
The cube puzzle device may include various position sensors. Such sensors may be able to identify the rotation of each face of the puzzle. The position sensors may include relative and absolute position sensors. The cube puzzle device may utilize the position sensors to determine (and/or update) the current state of the puzzle. The current state may be utilized to generate a solution to achieve the target state. The solution may be presented to a person using the cube puzzle via various user interface elements of the device (e.g., arrows indicating a rotation direction for each face). Such solution steps may be presented when a user requests instruction. Some embodiments may automatically determine when a solution has been achieved by comparing a current state of the device to the target state.
Some embodiments may allow communication between cube puzzles and external electronic devices (e.g., desktops, laptops, smartphones, tablets, etc.). Such electronic devices may execute a cube puzzle application program that may be able to provide instructions to the person using the cube puzzle, to receive a state of the puzzle, to share results across various platforms, and/or to perform other appropriate tasks.
The wireless cube puzzle may connect to client devices, such as the client devices 301-307 of
The cube puzzle application program may communicate with the server(s) 310 and/or 330 (
The cube puzzle application program and/or the server(s) 310, 330 may select an image to be synthesized using the colors of the faces of the cube puzzles (e.g., and without limitations, red, green, orange, blue, white, and yellow). The image may be divided and color transformed such that it may include a matrix of M by N regions to be reconstructed by a group of cube puzzles.
The original image may be converted by following the following procedure. The image may be divided into K by L blocks where K=3*M and L=3*N. If X and Y are, respectively, the horizontal and vertical resolutions of the original image, then each one of the K×L blocks may be (X/K)*(Y/L) pixels.
Each one of the blocks may be approximated by one of the 6 colors of the cube puzzle and all pixels in that block may be set to that color. The image may be publicly available from the server(s) 310 and/or 330, and may allow everyone or a selected group of participants to see the total progress towards revealing the image. The participants who want to participate in reconstructing the image from the cube patterns may use the cube puzzle application program to request to participate. For example, the participant, through a browser running on a computing device, may access special universal resource locator (URL) that automatically opens the cube puzzle application program when clicking on an online image, through a friend request, email or other method.
The cube puzzle application program may communicate with the serve(s) 310 and/or 330 and may retrieve the next available image region that may help solve the image. For example, the serve(s) 310 and/or 330 may pick a random 3 by 3 block of the image (these 3 by 3 pieces may be modulo 3 boundaries starting from any corner of the image) and may assign that pattern to the participant. The participant may now start making that pattern on one of the faces of the participant's cube puzzle.
In some embodiments, the participants may snap pictures or select their own images, and just build a local image they want to work on, or share with only a select set of persons. The images may be smaller for a quick completion, or may be very large that may require a long time to fully reveal.
For the participants that are using the cube puzzle application program, the application program may receive the pattern that should be matched by the participant from the server(s) 310 and/or 330 and may track the participant's movements. Once the pattern that is assigned to the participant is matched on a face of the participant's cube puzzle, the application program may send a message to the server(s) 310 and/or 330 signaling the completion of that particular pattern.
The server(s) may manage the conflicts. For example, when more than two participants are assigned to match the color pattern of the same region, the server may fill on the first received portion, and may continue to send requests for other regions back to the participant's device. In some embodiments, a participant may request and lock a particular 3 by 3 pattern pixel until they are complete. In other embodiments, the server may broadcast all available patterns to work on, and just take in the first solved one. A participant, in some embodiments, may request another pattern and if one is still available it will be sent the same way as above.
The server(s) 0310 and/or 330 or the local cube puzzle application program of a participant may keep track of the number of patterns each participant solves and the time it takes for each pattern to be solved. The participants may get a score based on that data, and for that image, over any time period (e.g., and without limitations, last month, last week, etc.). The participants may see their contributions.
In some embodiments, any user may try to guess what the final image is going to look like and name the image while the participants are working to reveal the image. The earlier in the game a participant gets the correct answer, the higher the score the participant may get.
The completion of the image may also be used to trigger even more operations. For example, the completion of a post may trigger a release of another social media post, such as a video, more pictures, a music video, etc. The release of new content or the image itself may be only for the participants that contributed to the puzzle, or for the wider public audience. Furthermore, the solved image, once revealed, may unlock local rewards, such as virtual currency, discount offers, or another specialized content to one or more participants. This may be in the form of discount codes on the cube puzzle application program, or discount codes for online purchases with other retailers. The revealed image may open up bigger webpages, and may enable browsing through a wide variety of content.
In some embodiments, a user may be randomly playing with the 3 by 3 puzzle, and if at any point their cube matches a part of the image, it may automatically send the patterns to the server, and work to complete the images. This behavior helps reward users for playing with the cube, without explicitly serving patterns to solve.
The order of how the server(s) 310 and/or 330 send(s) requests may follow many patterns. For example, the server(s) may send the most important patterns first so the rough pattern may be revealed quickly. This is important in the case where one pattern may reveal many different parts of the image. The serve(s) may break apart the image into the least number of revealed pixels, to delay the final image to be recognized. The server(s) may completely randomize the patterns, or may focus on some regions first before other regions. This approach may include manually defined regions and ordering to maximize the impact.
In some embodiments, multiple participants may be working against each other to flip pixels back to the images assigned to them. This means that the speed component may enable one participant to lock pixels that cannot be changed, or continuously flip them so that multiple users are racing to get different images revealed. In some embodiments, there may be a threshold, and after a certain percentage of the pixels are revealed, that image wins, but until that point, different images are being completed.
The bus 805 may collectively represent all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 800. For example, the bus 805 may communicatively connect the processing unit(s) 810 with the read-only memory 830, the system memory 820, and the permanent storage device 835.
From these various memory units, the processing unit(s) 810 may retrieve instructions to execute and data to process in order to execute the processes of the present embodiments. The processing unit(s) may be a single processor or a multi-core processor in different embodiments.
The read-only-memory 830 may store static data and instructions that are needed by the processing unit(s) 810 and other modules of the electronic system. The permanent storage device 835, on the other hand, may be a read-and-write memory device. This device is a non-volatile memory unit that may store instructions and data even when the electronic system 800 is off. Some present embodiments may use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 835.
Other embodiments may use a removable storage device (such as a floppy disk, flash drive, etc.) as the permanent storage device. Like the permanent storage device 835, the system memory 820 may be a read-and-write memory device. However, unlike storage device 835, the system memory may be a volatile read-and-write memory, such as random access memory. The system memory may store some of the instructions and data that the processor needs at runtime. In some embodiments, the processes may be stored in the system memory 820, the permanent storage device 835, and/or the read-only memory 830. From these various memory units, the processing unit(s) 810 may retrieve instructions to execute and data to process in order to execute the processes of some embodiments.
The bus 805 may also connect to the input and output devices 840 and 845. The input devices may enable the user to communicate information and select commands to the electronic system. The input devices 840 may include alphanumeric keyboards, pointing devices (also called “cursor control devices”), audio recorders, still and/or video cameras. The output devices 845 may display images generated by the electronic system. The output devices 845 may include one or more speakers. The output devices may include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some embodiments may include devices such as a touchscreen that function as both input and output devices.
Finally, as shown in
Some embodiments may include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable Blu-Ray® discs, ultra-density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.
While the above discussion primarily refers to microprocessor or multi-core processors that execute software, some embodiments may be performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). In some embodiments, such integrated circuits may execute instructions that are stored on the circuit itself. Some of the present embodiments may include flexible circuit, also rereferred to as flexible printed circuit boards (PCBs). The flexible circuits may provide dynamic flexing and increased heat dissipation and may be used in the embodiments that require circuits with smaller footprint, increased package density, more tolerance to vibrations, and/or less weight.
As used in this specification, the terms “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. For the purposes of the specification, the terms display or displaying means displaying on an electronic device. As used in this specification, the terms “computer readable medium,” “computer readable media,” and “machine readable medium” are entirely restricted to non-transitory, tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral or transitory signals.
In a first aspect, an automated method of gradually revealing images by a computing device to a set of one or more electronic devices is provided. Each electronic device is associated with a cube puzzle, each cube puzzle has six sides, each side comprises a plurality of blocks, each block of the cube puzzles comprises one of a plurality of six colors. The method comprises: dividing a first image into a first plurality of blocks, each block in the first plurality of blocks comprising a set of one or more colors; generating the first image into a second image by the computing device, the second image comprising a second plurality of blocks, each block in the second plurality of blocks corresponding to a set of one or more blocks in the first plurality of blocks, each block in the second plurality of blocks being a unicolor block comprising one color from the plurality of six colors of the cube puzzles' blocks; grouping the second plurality of blocks into a plurality of regions by the computing device, each region comprising a same number of blocks as the plurality of blocks of a side of a cube puzzle; assigning one or more regions of the second image to each cube puzzle; sending the colors of the blocks of each region, from the computing device, to the electronic devices associated with the cube puzzles to which the regions are assigned; receiving an indication, by the computing device, that the colors of the blocks on a side of the cube puzzle associated with the electronic device are matched to the colors of the blocks of the region assigned to the cube puzzle; sending the colors of the blocks of the matched region and a location of the matched region in the second image from the computing device to the set of electronic devices; and repeating the receiving of an indication from an electronic device in the set of electronic devices and the sending of the colors of the blocks of a matched region and a location of the matched region a plurality of times to reveal at least a portion of the second image to the set of electronic devices.
In an embodiment of the first aspect, each of the first and second images comprises a plurality of pixels, wherein each pixel has a color, wherein generating the first image into the second image comprises generating each pixel of the first image having an arbitrary color into a corresponding pixel of the second image having one of the plurality of colors of six colors of the cube puzzles' blocks.
In another embodiment of the first aspect, each of the first and second images comprises a plurality of pixels, wherein each pixel has a color, wherein generating the first image into the second image comprises mapping each of a plurality of the pixels of the first image having arbitrary colors into one pixel of the second image having one of the plurality of colors of six colors of the cube puzzles' blocks.
An embodiment of the first aspect further comprises assigning one or more additional regions of the second image to a cube puzzle after the colors of the blocks on a side of the cube puzzle are matched to the colors of the blocks of the region assigned to the cube puzzle.
Another embodiment of the first aspect further comprises sending the one or more blocks in the first plurality of blocks that correspond to each block of a matched region of the second image to the set of one or more electronic devices.
Another embodiment of the first aspect further comprises sending the first image to the set of one or more electronic devices after every block of the second image are sent to the set of electronic devices.
In another embodiment of the first aspect, each side of a cube puzzle has a same plurality of rows and columns, wherein grouping the second plurality of blocks into the plurality of regions comprises grouping the second plurality of blocks into regions that have a same plurality of rows and columns as a side of a cube puzzle
Another embodiment of the first aspect further comprises giving points or assigning prizes to persons operating the cube puzzles based on a speed at which a region is matched by a cube puzzle or a number of regions matched by a cube puzzle.
In another embodiment of the first aspect, receiving the indication that the colors of the blocks on the side of the cube puzzle associated with the electronic device are matched to the colors of the blocks of the region assigned to the cube puzzle comprises: receiving an image of a side of the cube puzzle that is matched to the colors of the blocks of the assigned region by the computing device from the electronic device associated with the cube puzzle; and analyzing the image by the computing device to determine that the colors of the blocks on the side of the cube puzzle are matched to the colors of the blocks of the assigned region.
In another embodiment of the first aspect, receiving the indication that the colors of the blocks on the side of the cube puzzle associated with the electronic device are matched to the colors of the blocks of the region assigned to the cube puzzle comprises receiving a message from a proctor indicating that the side of the cube puzzle is matched to the colors of the blocks of the assigned region.
Another embodiment of the first aspect further comprises: starting a timer; and sending the colors of the blocks of a set of one or more regions and a location of the one or more regions in the second image from the computing device to the set of electronic devices after an expiration of the timer even if the colors of the blocks of the set of one or more regions are not matched on the side of any cube puzzles.
In a second aspect, a non-transitory computer-readable medium storing a program for gradually revealing images by a computing device to a set of one or more electronic devices is provided. Each electronic device is associated with a cube puzzle, each cube puzzle has six sides, each side comprising a plurality of blocks, each block of the cube puzzles comprises one of a plurality of six colors, the program executable by a processor of the computing device. The program comprises sets of instructions for: dividing a first image into a first plurality of blocks, each block in the first plurality of blocks comprising a set of one or more colors; generating the first image into a second image, the second image comprising a second plurality of blocks, each block in the second plurality of blocks corresponding to a set of one or more blocks in the first plurality of blocks, each block in the second plurality of blocks being a unicolor block comprising one color from the plurality of six colors of the cube puzzles' blocks; grouping the second plurality of blocks into a plurality of regions, each region comprising a same number of blocks as the plurality of blocks of a side of a cube puzzle; assigning one or more regions of the second image to each cube puzzle; sending the colors of the blocks of each region to the electronic devices associated with the cube puzzles to which the regions are assigned; receiving an indication that the colors of the blocks on a side of the cube puzzle associated with the electronic device are matched to the colors of the blocks of the region assigned to the cube puzzle; sending the colors of the blocks of the matched region and a location of the matched region in the second image to the set of electronic devices; and repeating the receiving of an indication from an electronic device in the set of electronic devices and the sending of the colors of the blocks of a matched region and a location of the matched region a plurality of times to reveal at least a portion of the second image to the set of electronic devices.
In an embodiment of the second aspect, each of the first and second images comprises a plurality of pixels, each pixel has a color, and the set of instructions for generating the first image into the second image comprises a set of instructions for generating each pixel of the first image having an arbitrary color into a corresponding pixel of the second image having one of the plurality of colors of six colors of the cube puzzles' blocks.
In another embodiment of the second aspect, each of the first and second images comprises a plurality of pixels, each pixel has a color, and the set of instructions for generating the first image into the second image comprises a set of instructions for mapping each of a plurality of the pixels of the first image having arbitrary colors into one pixel of the second image having one of the plurality of colors of six colors of the cube puzzles' blocks.
An embodiment of the second aspect further comprises a set of instructions for assigning one or more additional regions of the second image to a cube puzzle after the colors of the blocks on a side of the cube puzzle are matched to the colors of the blocks of the region assigned to the cube puzzle.
Another embodiment of the second aspect further comprises a set of instructions for sending the one or more blocks in the first plurality of blocks that correspond to each block of a matched region of the second image to the set of one or more electronic devices.
Another embodiment of the second aspect further comprises a set of instructions for sending the first image to the set of one or more electronic devices after every block of the second image are sent to the set of electronic devices.
In another embodiment of the second aspect, each side of a cube puzzle has a same plurality of rows and columns, wherein the set of instructions for grouping the second plurality of blocks into the plurality of regions comprises a set of instructions for grouping the second plurality of blocks into regions that have a same plurality of rows and columns as a side of a cube puzzle.
Another embodiment of the second aspect further comprises a set of instructions for giving points or assigning prizes to persons operating the cube puzzles based on a speed at which a region is matched by a cube puzzle or a number of regions matched by a cube puzzle.
In another embodiment of the second aspect, the set of instructions for receiving the indication that the colors of the blocks on the side of the cube puzzle associated with the electronic device are matched to the colors of the blocks of the region assigned to the cube puzzle comprises sets of instructions for: receiving an image of a side of the cube puzzle that is matched to the colors of the blocks of the assigned region by the computing device from the electronic device associated with the cube puzzle; and analyzing the image by the computing device to determine that the colors of the blocks on the side of the cube puzzle are matched to the colors of the blocks of the assigned region.
In another embodiment of the second aspect, the set of instructions for receiving the indication that the colors of the blocks on the side of the cube puzzle associated with the electronic device are matched to the colors of the blocks of the region assigned to the cube puzzle comprises a set of instructions for receiving a message from a proctor indicating that the side of the cube puzzle is matched to the colors of the blocks of the assigned region.
Another embodiment of the second aspect further comprises comprising sets of instructions for: starting a timer; and sending the colors of the blocks of a set of one or more regions and a location of the one or more regions in the second image from the computing device to the set of electronic devices after an expiration of the timer even if the colors of the blocks of the set of one or more regions are not matched on the side of any cube puzzles.
The above description presents the best mode contemplated for carrying out the present embodiments, and of the manner and process of practicing them, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which they pertain to practice these embodiments. The present embodiments are, however, susceptible to modifications and alternate constructions from those discussed above that are fully equivalent. Consequently, the present invention is not limited to the particular embodiments disclosed. On the contrary, the present invention covers all modifications and alternate constructions coming within the spirit and scope of the present disclosure. For example, the steps in the processes described herein need not be performed in the same order as they have been presented, and may be performed in any order(s). Further, steps that have been presented as being performed separately may in alternative embodiments be performed concurrently. Likewise, steps that have been presented as being performed concurrently may in alternative embodiments be performed separately.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 63/183,495, filed on May 3, 2021. The contents of U.S. Provisional Patent Application 63/183,495 are hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5785319 | Frauhiger | Jul 1998 | A |
6196544 | Rachofsky | Mar 2001 | B1 |
6422560 | Harbaugh | Jul 2002 | B1 |
8628087 | Knowlton | Jan 2014 | B2 |
9919224 | Mott | Mar 2018 | B2 |
10143913 | Baddoo | Dec 2018 | B2 |
Number | Date | Country | |
---|---|---|---|
20220347554 A1 | Nov 2022 | US |
Number | Date | Country | |
---|---|---|---|
63183495 | May 2021 | US |