Patent ID: 12200174

DETAILED DESCRIPTION

In the following detailed description, reference is made to the accompanying drawings wherein like numerals represent like details. The embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense and the scope of the invention is only defined by the appended claims and their equivalents.

With reference toFIG.1, a sorter10for trading cards includes a housing11that is portable for ease of placement by users. An input bin12receives the cards from the users and an output bin14is provided for depositing the cards after processing by a controller, C. The processing is any of a variety, such as identifying cards, grading cards, valuing cards, sorting cards by gameplay, random shuffling of cards, sorting cards by color, building decks of cards, arranging cards by face-up/-down orientation, or the like. The controller is also any of a variety, but typifies an ASIC(s), circuit(s), microprocessor(s), firmware, software, or the like. Users interact with the processing of cards by the controller via a user interface16. By extension, the user interface may include computing connections, such as WiFi connection to a smart phone18and/or a wired, wireless connection to a computing network typified by a server20in a cloud environment22also accessible to the controller, C. A local or remote memory M further accompanies the controller in order to conduct processing. Similarly, a local or remote database is available to the controller, such as may be stored on the server, for accessing relevant information for processing. The controller and sorter10receive power by way of a traditional plug24connected to a power source26.

With reference toFIG.2, a cutaway view of the sorter10reveals inner mechanical structures of the sorter. Among them, each of the input and output bins12,14include a bottom12′,14′, to stack thereon the trading cards for processing. Ones of the cards travel from the bottom12′ of the input bin12to the output bin14along a transport path, given generally as dashed line30. Along the path, a friction roller32rotates in the direction of arrow A to pick cards from the bottom of the input bin to start the travel of the cards from the input to the output bin. The roller32is preferably covered in rubber R to prevent damage to the trading cards as the roller rotates. The roller is also raised to prevent the cards from rubbing on stationary surfaces. The roller could be singular in design and/or exemplify a plurality of such rollers. (FIG.3depicts a simplified breakaway view of the sorter showing a plurality of friction rollers32,32′ coated in rubber, R).

Further along the path exists two scan bars34,36with one36of the two scan bars above the transport path30and the other34of the two scan bars below the transport path. During use, the scan bars scan an image of a top surface42(FIG.4, simplified transport path30depicted) and a bottom surface44(FIG.4) of the ones of the trading cards40(FIG.4) as the ones of the trading cards travel past the two scan bars along the transport path during use. The scanned image is provided to the controller C for processing. The scan bars extend widthwise over an entirety of the surfaces of the cards. That the two scan bars obtain dual-sided images of each card, the cards in the input bin can be oriented in either face-up/-down orientation without issue during processing. The controller also coordinates a timing of movement of the friction roller and initiation of the scanning by the scan bars. A sensor50facilitates this by optically sensing a leading edge46(FIG.4) and/or a trailing edge48(FIG.4) of the cards, which may be one and the same sensor, or separate from one another, to indicate to the controller to start/stop scanning by the scan bars.

A pair of roller nips58,58′ on either side of the two scan bars34,36along the transport path are provided for driving the trading cards along the transport path. As seen in the simplified view inFIG.4, a single motor M rotates the pair of roller nips58,58′ at a same speed coordinated by the controller C. In this way, the cards process without buckling or stretching. A rail60may also exist between the roller nips to keep at a same height along the transport path a leading edge of the trading cards and the roller nips to prevent damage to the cards during transit. In distance, the nips are spaced slightly farther apart than a length (l) of a standard trading card. The speed of the motor driven by the controller can be any of a variety, but one embodiment envisions driving the motor at a speed such that a card processing along the transport path30has enough momentum to move from the proximate nip to the distal nip without falling.

In various alternate embodiments, a removable tower12-1is envisioned inFIG.2for placement on the housing11for vertically holding additional trading cards for dropping into the input bin12. The output bin may also include a removable chute14-1that moves in the direction of arrow B for access to the trading cards having been processed by the controller. With reference toFIG.5, a sorter may have a plurality of output bins14-2,14-3for trading cards sorted from a single input bin12. In a front view of the sorter ofFIG.5,FIG.6shows the sorter in cutaway having two friction rollers32,32′ for picking cards40from the input bin12for processing by the controller and, ultimately, for depositing in the output bin14-2. The output bin may also have a non-contact, flush mounted optical sensor60for sensing a full condition of the cards40in the bin.FIG.7shows the two output bins14-2,14-3in cross section ofFIG.5along line7-7. To sort the cards40into either of the output bins, a diverter75is given inFIGS.8A and8B. InFIG.8A, the diverter75is positioned upward such that a processed trading card40-A hits an underside75-U along path80A and falls into the output bin14A. InFIG.8B, the diverter75is positioned downward such that a processed card40-B travels above the topside75-T of the diverter along path80B and bypasses output bin14A and travels to a second output bin (not shown in this view).

In lieu of a diverter, the sorter may include a shifting armature for depositing processed cards in the output bins. By comparingFIGS.9A-9D, a shifting armature slides S back and forth above the output bins14-2,14-3. InFIG.9A, the armature90slides above output bin14-2and a bottom90-O opens inFIG.9Bso that a card processed by the controller can be dropped into output bin14-2. Similarly, inFIG.9C, the armature90slides above output bin14-3and the bottom90-O opens inFIG.9Dso that a card processed by the controller can be deposited into the output bin14-3.

In the simplified views ofFIGS.10A-10D, the armature90(FIG.10A) opens whereby two halves90-1,90-2(FIG.10B) simultaneously move away from the card40in the direction of the arrows and gravity, g, drops the card into an output bin. InFIG.10C, the armature90can induce rotation into the card40, such that if the sorter detects that a card is not facing the direction chosen by the user, the armature can be used to flip the card. By delaying movement of one of the halves of the armature, a rotation can be induced. InFIG.10C, halve90-1moves away from the card40first, whereas halve90-2moves away from the card40second (FIG.10D), thereby inducing a rotation in the card as seen by the arrows. The controller induces this behavior using a custom algorithm that, artisans will appreciate, is dependent on a stack height of the cards in a current output bin as well as the width of a given card to-be-rotated. Thus, the controller accounts for this by tracking how many cards have been deposited into each of the output bins and, by way of scanning of the cards with the dual can bars, knowing the size of the card.

With reference toFIG.11, artisans will appreciate that many trading cards40have metal or foil90over an entirety of the card or in various sections95thereof, as shown. Thus, the sorter further includes a foil detection sensor100in the transport path as cards travel from the input to output bins. In one embodiment, the sensor has one or more planar coils101disposed on a printed circuit board (PCB) paired with a tuning capacitor (not shown). As is known, there exists a natural resonant frequency of the coils which is determined by the inductance of the coil (L), the tuning capacitance combined with the parasitic coil capacitance (C), and the resistance of the coil traces (R). During use, the tuned coil is connected to an off-the-shelf IC coordinated by the controller which both establishes a resonant excitation in the coil and measures the natural resonant frequency. The excitation produces an AC current in the coil which in turn creates an AC magnetic field. When a conductive object (in this case a foil90layer embedded in a trading card40) is in the vicinity of the coil, the AC magnetic field creates an emf (electromotive force) which generates a current in the conductive object. From Faraday's Law, the current (referred to as an eddy current) creates a magnetic field, which tends to oppose the original magnetic field, and manifests itself as a decrease in the inductance of the tuned coil. Furthermore, any heating which may occur in the conductive object due to this eddy current manifests itself as an increase in the resistance R of the coil. Additionally, any capacity of the conductive object to store magnetic energy (its permeability) will manifest itself as an increase in the effective L of the coil. Due to the combination of these three effects, the resonant frequency of the tuned coil will shift. If the shift in resonant frequency is significant enough, the IC will toggle the state of a digital output. This indicates to the controller that a conductive object (the card having foil) is in the vicinity of the coil, thus detecting or not a card with foil. In a further embodiment, foil detection sensor100can be used to read binary information103of the card in the form of 1's and 0's by being placed adjacent to the card and the presence or not of metal on the card40indicates a binary 1 or 0, or vice versa. The form factor of the sensor, of course, can be modified to add or subtract a number of coils101allowing more or less data to be read over the surface of a card40according to sections95of foil. The binary information could be also used to authenticate trading cards.

While the sensor100can detect metal foil, the controller can additionally include optical character recognition (OCR) for regions of cards to further help with identification of the cards. That is, some cards include information on their surfaces indicating set names, card numbers within that set, and codes that determine the language of the card. While not all cards have this information, OCR will help provide information about the cards on those that do. In still other embodiments, a convolution neural network could be established for the controller and trained to detect all the various types of trading cards as users feed images of cards having been captured and labeled to build up a training set. In either, once a card has been recognized by the controller, that information is added to a database comprising the rest of the cards in a collection of cards held by the user.

In any embodiment, the controller receives from the dual scan bars the scanned image of top and bottom surfaces of ones of the cards. According to a combination of edge detection, image rotation, and image cropping, each card processed by the controller is isolated from the background layer of the card. A hashing algorithm is then executed by the controller that generates a first set of hashes from each scanned image after cropping out the borders of cards and followed, next, by downscaling each scanned image (sans the border) to 32×32 pixels. In order to generate each hash, a discrete cosine transform is used

Xk=∑n=0N-1xn⁢cos[πN⁢(n+12)⁢k]⁢k=0,…,N-1.
and applied to groupings of rows and columns of pixels of the scanned image. The hash occurs first in an upper left 8×8 grid of the pixels110, as seen inFIG.12, whereby a mean pixel value is calculated from the grid. In turn, a new binary map is generated by comparing each pixel value of the grid to the mean and assigning it a “1” if the pixel value is greater than the mean and a “0” otherwise. The hash continues in this fashion first from the upper left grid of pixels, then working across the 32×32 pixels and down to the bottom right, recording each 1 or 0 to generate a 64-bit perceptual hash representing the scanned image, e.g., pHash (FIG.12). With few exceptions, cards within a trading card game all share a common backside which identifies the game to which they belong. As such, the pHash per card is then applied to reference images of the backsides of cards of each card game by XORing them, i.e., logically operating with exclusive or (XOR), to reveal a Hamming Distance. Those with the smallest Hamming Distance are then chosen as the best selection, or match of a scanned card (provided the distance meets a closeness threshold). The following is provided as an example, whereby the “Ferret Scan Hash” represents the pHash of bottom surface of a scanned card in the sorter and the Reference Hash represent the pHash of a “Magic the Gathering” card and the resulting Hamming Distance between the two is eight (8), thereby identifying the scanned card as a Magic the Gathering card.

Reference hash: 1000 1001 1010 1111 0001 1111 1111 0111 0011 1111 1001 0111 0111 1101 1111 1111Ferret Scan hash: 1000 0000 1011 1111 0010 1111 1111 0111 0011 1111 1101 0111 0111 1100 1111 0111XOR: 0000 1001 0001 0000 0011 0000 0000 0000 0000 0000 0100 0000 0000 0001 0000 1000Hamming Distance = 8

It should be noted that a pHash is not rotation invariant, meaning that an inverted scanned image will generate a different hash value than a card having a different orientation. In turn, the controller compares scanned cards against not only backsides of trading card games, but also to those same backsides if inverted. Then, if an inverted back is matched, the correct orientation of the card can be determined regardless of which direction or side is facing up during processing. Regardless, once the backside of the scanned image of a card has been identified, the top surface of the corresponding image from the dual scan bars can be also perceptually hashed, e.g., pHash, to provide a perceptual hash for each of the top and bottom surface of the cards so scanned by the sorter.

The controller also generates a gradient hash (dHash). In one embodiment, this includes downscaling the scanned image of a surface of the card to an 8×8 grid of pixels. An 8×8 binary map is then created beginning with a second column of the pixels and setting each value to 1 if greater than its neighbor on the left or a 0 otherwise. From there, the gradient hash is generated in the same manner as the perceptual hash, e.g., beginning with the top left position of the pixels and working across and down to the bottom right, recording each 1 or 0 to generate a 64-bit dHash representing the scanned image. Comparisons of the dHash are then compared to gradient hashes of the reference images. Ultimately, matches are selected within a certain threshold of pHash values as compared against dHash values. This step is used because trading cards may share similar frequency information despite having different images. That the gradient hash dHash generated for a given scanned image is significantly different than the perceptual hash pHash for a given other-side surface of a card, this comparison increases the confidence that the closest match to both the perceptual and gradient hashes is the correct one.

As several trading card games include different cards with similar artwork, and reprinted cards in different editions have only slight differences from one another, a high degree of confidence in matching scanned cards to reference cards is obtained if the controller obtains multiple matches for its scanned cards in relation to the reference cards. Thus, the flowchart120ofFIG.13shows but one technique the controller executes per the perceptual and gradient hashes obtained from the tops and bottom surfaces of the scanned cards relative to the database (DB) of reference cards.

The foregoing illustrates various aspects of the present disclosure. It is not intended to be exhaustive. Rather, it is chosen to describe the principles of the present disclosure and its practical application to enable one of ordinary skill in the art to utilize the present disclosure, including its various modifications that naturally follow. All modifications and variations are contemplated within the scope of the present disclosure as determined by the appended claims. Relatively apparent modifications include combining one or more features of various embodiments with features of other embodiments.