Abstract:
Systems ( 100 ) and methods ( 500 ) for providing a dynamic mark ( 112, 900 ) with a video. The methods comprise: receiving a sequence of symbols (“1234”) uniquely identifying an entity and video; mapping each symbol to an image pattern of a plurality of different image patterns to form a sequence of First Active Image Patterns (“FAIPs”). Each FAIP ( 1102 - 1108 ) exclusively comprises first pattern regions ( 802 - 816 ) for encoding symbols. At least two pattern regions are rendered with at least one color (e.g., “R, G, and/or B”) other than a background color for the image pattern. The first pattern regions are arranged in a non-grid like pattern. Each first pattern region has a non-square shape with a single side boundary line directly abutting a single side boundary line of at least one other first pattern region. The FAIPs are then caused to be displayed along with the video in a detectable and decodable manner.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/976,043 filed Apr. 7, 2014, which is incorporated by reference as if fully set forth. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Statement of the Technical Field 
         [0003]    The inventive arrangements relate to systems and methods for dynamic mark embedding in visual images. More particularly, the invention concerns systems and methods in which dynamic marks are embedded into visual images (e.g., static images, videos and live broadcasts) in a manner detectable by a decoding device. 
         [0004]    2. Description of the Related Art 
         [0005]    Due to the technical complexities involved, the convergence of digital media as displayed on a TV, or a video screen, and a wireless smart device such as a smartphone, has been virtually non-existent. Although there have been attempts to connect the two mediums each have their own serious limitations, and are simply not ideal, or practical. The limitations for optical based systems include, but are not limited to, requiring a very short distance from the video display to capture information, ambient light in the room in which the video display is being viewed can render the receiver unusable, variations in the video display output can render the receiver unusable, and the time it takes for the receiver to actually capture the information. Because of these, and other unreliable limitations, the user is likely to get frustrated and simply give up. 
         [0006]    The limitations for Audio based systems include but are not limited to, the volume level and proximity to the audio transmitter, the quality of the audio output, background noise such as talking, music, or other sounds which can interfere with the receiver, and the time it takes for the receiver to actually capture the information. Because of these, and other unreliable limitations, the user is likely to get frustrated and simply give up. 
         [0007]    A need has therefore been recognized in the art to provide a reliable and robust solution to the problem. The system preferably facilitates the convergence of video displayed information directly, quickly, and wirelessly, to all of the currently available, and future smart devices such as smartphones, tablets, wearable&#39;s such as watches, glasses and others not yet known to the market. Further, the solution should include a method for advertisers to engage their customers and maximize the response to their commercials by enabling viewers to acquire digital coupons and other incentive offers associated with the video broadcast commercial. There is also a need to provide new and different backend solutions for utilizing these devices and methods. 
       SUMMARY OF THE INVENTION 
       [0008]    The present invention concerns systems and methods for providing a Digital Dynamic Mark (“DDM”) in conjunction with a video. The methods comprise: electronically receiving, by a computing device, first information comprising a sequence of symbols uniquely identifying a first entity and a first video; mapping, by the computing device, each of the symbols to an image pattern of a plurality′ of different image patterns so as to form a sequence of first active image patterns; and performing operations by the computing device to facilitate a display of the sequence of first active image patterns along with the first video in a detectable and decodable manner. 
         [0009]    Each first active image pattern exclusively comprises a plurality of first pattern regions for encoding symbols. At least two pattern regions of the first pattern regions are rendered with at least one color (e.g., red, green and/or blue) other than a defined background color for the image pattern. The first pattern regions are arranged in a non-grid like pattern. Each first pattern region has a non-square shape (e.g., a rectangular or triangular shape) with a single side boundary line directly abutting a single side boundary line of at least one other first pattern region. At least two of the first pattern regions have the same or different shapes. 
         [0010]    In some scenarios, the sequence of first active image patterns is appended to an end of a sequence of second active image patterns. Each second active image pattern indicates which symbol of a plurality of symbols is represented by a particular active image pattern that may possibly be contained in a customer-specific portion of any one of a plurality of DDMs. An inactive image pattern is also appended to an end of the sequence of first active image patterns. The inactive image pattern comprises a plurality of second pattern regions all rendered with the defined background color or black. The sequences of first active image patterns, the sequence of second active image patterns and the inactive image pattern are then be sequentially displayed along with the first video. 
         [0011]    In those or other scenarios, the computing device further performs operations to cause at least one event to occur in response to a reception of a sequence of decoded symbols obtained from captured video of the sequence of first active image patterns presented along with the first video. The event includes, but is not limited to: (1) directing a communication device possessed by a viewer of the first video to a pre-defined website; and/or (2) delivering information to a viewer of the first video specifying a promotion, an offer or a coupon available through the entity. 
         [0012]    The present invention also concerns systems and methods for providing a DDM in conjunction with a video. These methods comprise: providing, from a computing device to a mark generator, first information comprising a sequence of symbols uniquely identifying an entity and a video; receiving, by the computing device, a sequence of first active image patterns, a sequence of second active image patterns, and/or an inactive image pattern from the mark generator; and performing operations by the computing device to facilitate a display of the sequence of first active image patterns, the sequence of second active image patterns, and/or the inactive image pattern along with the video in a detectable and decodable manner. Each first active image pattern encodes a respective one of the symbols. 
         [0013]    In some scenarios, the computing device receives a user-software interaction selecting at least one event which is to occur in response to a reception of a sequence of decoded symbols obtained from captured video of the sequence of first active image patterns presented along with the video. The event includes, but is not limited to: (1) directing a communication device possessed by a viewer of said first video to a pre-defined website; and/or (2) delivering information to a viewer of the first video specifying a promotion, an offer or a coupon available through the entity. 
         [0014]    The present invention further concerns systems and methods for using a DDM presented along with a video to receive information. The methods comprise capturing a first DDM being presenting along with a first video using a video camera of a computing device (e.g., a smart phone). The first DDM comprises a sequence of first active image patterns each encoding a respective one of a plurality of symbols uniquely identifying an entity and the video. The computing device then decodes the first DDM to obtain a sequence of decoded symbols. Next, the sequence of decoded symbols is optionally sent from the computing device to a remote device for processing. In this case, the computing device receives information from the remote device (1) directing the communication device to a pre-defined website, or (2) specifying a promotion, an offer or a coupon available through the entity. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0015]    Embodiments will be described with reference to the following drawing figures, in which like numerals represent like items throughout the figures, and in which: 
           [0016]      FIG. 1  provides a schematic illustration of an exemplary system that is useful for understanding the present invention. 
           [0017]      FIG. 2  provides a schematic illustration of an exemplary server/database architecture. 
           [0018]      FIG. 3  is a schematic illustration of an exemplary architecture for the mobile communication device shown in  FIG. 1 . 
           [0019]      FIG. 4  is a schematic illustration of an exemplary architecture for the computing device shown in  FIG. 1 . 
           [0020]      FIGS. 5A-5B  collectively provide a flow diagram that is useful for understanding the operation of the system shown in  FIG. 1 . 
           [0021]      FIG. 6  is a schematic illustration of an exemplary graphical user interface for creating and managing a user profile. 
           [0022]      FIG. 7  is a schematic illustration useful for understanding operations performed by a video content owner within the system of  FIG. 1 . 
           [0023]      FIG. 8  is a schematic illustration that is useful for understanding an exemplary architecture of a DDM. 
           [0024]      FIGS. 9-12  provide schematic illustrations that are useful for understanding contents of a DDM. 
           [0025]      FIG. 13  is a schematic illustration that is useful for understanding how a DDM can be presented along with a video. 
           [0026]      FIG. 14  is a schematic illustration of another architecture for a DDM. 
           [0027]      FIG. 15  is a schematic illustration showing a mobile communication device receiving and decoding data acquired from a DDM presented along with a video. 
           [0028]      FIG. 16  is a schematic illustration showing a mobile communications device transmitting decoded information acquired from a DDM to a data processing center of a mark provider. 
           [0029]      FIG. 17  is a schematic illustration of a mobile communications device receiving selectable content from a data processing center of a mark provider. 
           [0030]      FIG. 18  is a schematic illustration showing an exemplary process for purchasing an item using content (e.g., a coupon/promotional offers) obtained as a result of capturing a DDM displayed in conjunction with a video. 
           [0031]      FIG. 19  is a schematic illustration showing an exemplary process for selecting and downloading digital coupons/offers to a shopping software application running on a mobile communications device. 
       
    
    
     DETAILED DESCRIPTION 
       [0032]    It will be readily understood that the components of the embodiments as generally described herein and illustrated in the appended figures could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of various embodiments, as represented in the figures, is not intended to limit the scope of the present disclosure, but is merely representative of various embodiments. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated. 
         [0033]    The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects as illustrative. The scope of the invention is, therefore, indicated by the appended claims. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope. 
         [0034]    Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussions of the features and advantages, and similar language, throughout the specification may, but do not necessarily, refer to the same embodiment. 
         [0035]    Furthermore, the described features, advantages and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, in light of the description herein, that the invention can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention. 
         [0036]    Reference throughout this specification to “one embodiment”, “an embodiment”, or similar language means that a particular feature, structure, or characteristic described in connection with the indicated embodiment is included in at least one embodiment of the present invention. Thus, the phrases “in one embodiment”, “in an embodiment”, and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment. 
         [0037]    As used in this document, the singular form “a”, “an”, and “the” include plural references unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. As used in this document, the term “comprising” means “including, but not limited to”. 
         [0038]    Overview 
         [0039]    The present invention concerns systems and methods for embedding or layering a dynamic code within/on top of a video. The dynamic code will be described in detail below. Still, it should be appreciated that the dynamic code is a novel code which overcomes various drawbacks of conventional matrix codes (e.g., QR codes) used in conjunction with the video. For example, conventional QR codes require positioning symbols. The dynamic code does not require such positioning symbols, and thus is a more efficient code. Also, conventional QR codes are two tone codes (i.e., black and white codes). In contrast, the dynamic code of the present invention employs more than two tones (e.g., black, red, green, and blue). As such, when using the same resolution on a reader device, the dynamic code can specify a greater amount of total possible information as compared to conventional QR codes. 
         [0040]    Additionally, QR codes suffer from data loss as a result of “bleeding” of encoded data points at least partially because of their square shapes, relatively small sizes, and strict grid structure in which each square falls within only one cell of a grid. In contrast, the dynamic code of the present invention does not suffer from such “bleeding” since the pattern regions have non-square shapes (e.g., circular shapes, rectangular shapes or arbitrary shapes selected in accordance with a particular application), relatively large sizes, and a non-grid structure (i.e., each pattern region does not fall exclusively within a single cell of a grid, rather overlaps multiple cells of a grid). 
         [0041]    Furthermore, the QR codes and other conventional codes are absent of a mechanism for preventing (a) channel noise, (b) different lighting variations, color variations and color distortions of a plurality of display screens, and (c) variations in the optical characteristics of different image/video capturing devices from causing errors in a subsequent decoding process. The dynamic code of the present invention advantageously includes such a mechanism, namely a code book portion. The code book portion will be described in detail below. Still, it should be understood that the code book portion of the present invention generally comprises a sequence of color coded image patterns defining what symbol of a plurality of symbols digits  0 - 5 ) each possible pattern in a subsequent customer-specific portion of the dynamic code represents. The code book portion provides reference image patterns to which the image patterns of the customer-specific portion can be compared for purposes of determining the sequence of symbols represented thereby. Accordingly, the code book portion provides a dynamic calibration system for each individual display screen and its surrounding environment. Thus, the code book portion ensures that the message delivery technique of the present invention functions properly regardless of the particular display screen on which the dynamic code is displayed and/or the surrounding environment in which the display screen resides. 
         [0042]    Dynamic Mark Embedding System 
         [0043]    Referring now to  FIG. 1 , there is provided a schematic illustration of an exemplary system  100  that is useful for understanding the present invention. System  100  comprises a Mark Generator (“MG”) facility  154 , a Video/Mark Distributor (“VMD”) facility  152 , and a viewer facility  150 . At the MG facility  154 , a DDM  112  is generated based on information provided by a Video Content Owner (“VCO”)  162  or a live broadcast owner located in the VMD facility  152 . Thereafter, the DDM  112  is presented to a viewer  160  along with a video on a display screen  110  located in the viewer&#39;s facility  150 . In this regard, the DDM  112  is embedded in or layered on top of the video which is owned by the VCO  162 , as will be described further below. The video and mark may be distributed to viewers by the VCO  162  and/or another entity (e.g., a television station). 
         [0044]    The VMD facility  152  is shown as comprising both the VCO&#39;s facility (e.g., a commercial owner) and a video distributor facility (e.g., a television station). Embodiments of the present invention are not limited in this regard. Two or more separate and distinct facilities can be provided for the VCO and/or the video distributor. 
         [0045]    Also, the MGF  154  is shown as comprising at least one server  114  and at least one database  116 . In some scenarios, the MGF  154  comprises a plurality of web servers  202 , a plurality of application servers  204 , and/or a plurality of databases  206  as shown in  FIG. 2 . The present invention is not limited in this regard. Any server/database architecture can be employed herein without limitation. 
         [0046]    The operation of system  100  will now be described with reference to  FIGS. 1-18 . As shown by step  502  of  FIG. 5 , the operations begin when the VCO  162  launches a web-based software application installed on a computing device  106  located in the VMD facility  152 . The computing device  106  includes, but is not limited to, a desktop computer, a personal computer, a laptop computer, a personal digital assistant, a table computer or a smart device. Each of the listed devices is well known in the art, and therefore will not be described herein. 
         [0047]    As a consequence of launching the web-based software application, the VCO  162  is presented with an application window in which (s)he can create and/or manage a user profile, as shown by step  504  of  FIG. 5 . A schematic illustration of an exemplary architecture for the application window is provided in  FIG. 6 . As shown in  FIG. 6 , a form is presented in the application window whereby the VCO  162  is prompted to enter certain customer-specific information (e.g., identification information, contact information primary address, secondary address, etc. . . . ) for creating a customer profile. 
         [0048]    Upon completing the form, step  506  is performed in which the input information is securely communicated from the computing device  106  to a server  114  of the MG facility  154  via a network  104  (e.g., the Internet). This secure communication can be achieved using cryptographic technologies, virtual network technologies and/or secure DNS server technologies. At server  114 , the VCO  162  is issued a customer code (or account number)  602  by a software application running on a server  114  of the MG facility  154 , as shown by step  508  of  FIG. 5 . The customer code  602  can be a numeric code (e.g., “12”), an alpha numeric code, or an alphabetic code. 
         [0049]    Thereafter in step  510 , the VCO  162  uses the software application to obtain a DDM  112 , which is unique for a particular video owned thereby. In this regard, the VCO  162  logs into a web based mark generation service via a web browser. Once logged into the web based mark generation service, the VCO  162  is prompted to input additional information that can be used by server  114  to generate the unique DDM  112 . For example, as shown in  FIG. 7 , the VCO  162  performs user-software operations to specify a commercial series  604  (e.g., “3”) and a commercial number  606  (e.g., “4”) within the series for which the DDM  112  is to be generated. The VCO  162  may also select events (e.g., redirect to URL, send offer, or make purchase) which should occur as a result of the acquisition of the DDM  112  by a viewer of the corresponding video using a Mobile Communication Device (“MCD”)  102  thereof. Notably, these events can be changed at any time by the VCO  162 , and therefore resulting actions from acquiring the DDM can be static or variable over a given period of time. This additional information is then securely communicated from the computing device  106  to a server  114  of the MG facility  154  via a network  104  (e.g., the Internet). In response to the reception of the additional information, the server  114  performs operations to create or generate the DDM  112 . The DDM  112  is then sent from the server  114  to the computing device  106 . 
         [0050]    The DDM  112  comprises a sequence of image patterns. Schematic illustrations of exemplary architectures for the DDM are provided in  FIGS. 8-12 . As shown in  FIG. 8 , an exemplary DDM image pattern  800  comprises a plurality of pattern regions  802 - 816  arranged relative to each other so as to form a square shaped image. Each pattern region  802 - 816  has a generally rectangular shape. The present invention is not limited in this regard. The DDM image pattern  800  can include any overall shape selected in accordance with a particular application. Also, the pattern regions can have any arbitrary shapes selected in accordance with the desired overall shape of the DDM image pattern  800 . For example, a DDM image pattern  1400  is designed to have an overall star shape as shown in  FIG. 14  with eight data pattern regions  1402 - 1416 . En this case, some of the pattern regions have shapes different from or the same as at least one other data pattern region. More specifically, data regions  1402 - 1410  have the same shapes. Data regions  1414  and  1416  have the same shapes. Data regions  1412 - 1416  have different shapes as compared to data regions  1402 - 1410 . This design flexibility of the DDM image pattern allows the DDM to have image patterns with shapes conformed to one or more design marks of a customer (e.g., a star shaped design mark as shown in  FIG. 14 ). 
         [0051]    The color pattern of the pattern region  802 - 816  specifies which symbol of a plurality of symbols is represented by the image pattern  800 . Different combinations of the three colors Red (“R”), Green (“G”) and Blue (“Blue”) define a numeric (e.g., heximal) system. However, the present invention is not restricted to any specific numeral system. Each symbol in the numeric system is determined by two colors. The correspondence between color combinations and symbols is called a “code book”. Although there are twenty-eight different pairs of pattern regions in  FIG. 8  that can be used to signal a symbol, only the following four pairs are considered for illustration purpose:  802 ,  804 ;  806 ,  808 ;  810 ,  812 ; and  814 ,  816 . 
         [0052]    As shown in  FIG. 8 , an assumption is made that the symbols include nine digits  0 - 8 . A symbol  0  is represented by an image pattern with two pattern regions  802 ,  804  appearing in red and all remaining pattern regions  806 - 816  appearing in a background color (e.g., white or a light yellow). A symbol  1  is represented by an image pattern with a pattern region  802  appearing in red, a pattern region  804  appearing in green, and all remaining pattern regions  806 - 816  appearing in a background color (e.g., white or light yellow). A symbol  2  is represented by an image pattern with a pattern region  806  appearing in red, a pattern region  808  appearing in blue, and all remaining pattern regions  802 ,  804 ,  810 - 816  appearing in a background color (e.g., white or a light yellow). A symbol  3  is represented by an image pattern with pattern regions  810 ,  8 . 12  appearing in green, and all remaining pattern regions  802 - 808 ,  814 ,  816  appearing in a background color (e.g., white or a light yellow). A symbol  4  is represented by an image pattern with a pattern region  814  appearing in green, a pattern region  816  appearing in blue, and all remaining pattern regions  802 - 812  appearing in a background color (e.g., white or a light yellow). A symbol  5  is represented by an image pattern with pattern regions  802 ,  804  appearing in blue, and all remaining pattern regions  806 - 816  appearing in a background color (e.g., white or a light yellow). A symbol  6  is represented by an image pattern with a pattern region  806  appearing in green, a pattern region  808  appearing in red, and all remaining pattern regions  802 ,  804 ,  810 - 816  appearing in a background color (e.g., white or a light yellow). A symbol  7  is represented by an image pattern with a pattern region  810  appearing in blue, a pattern region  812  appearing in red, and all remaining pattern regions  802 - 808 ,  814 ,  816  appearing in a background color (e.g., white or a light yellow). A symbol  8  is represented by an image pattern with a pattern region  814  appearing in blue, a pattern region  816  appearing in green, and all remaining pattern regions  802 - 812  appearing in a background color (e.g., white or a light yellow). An image pattern representing no symbol comprises pattern regions  802 - 816  appearing in black. The present invention is not limited to the particulars of this example. Any type of symbols and/or color pattern can be employed without limitation. 
         [0053]    Notably, an image pattern representing a symbol is referred to herein as an active image pattern. In contrast, an image pattern that does not represent a symbol (i.e., all pattern regions are black) is referred to herein as an inactive image pattern. In some scenarios, the activated pairs of pattern regions repeatedly follow the sequence  802 / 804 ,  806 / 808 ,  810 / 812 ,  814 / 816 . In this way, a message is transmitted by a sequence of active image patterns. The variation of colors in active regions encodes the message being sent. The start of a message can be detected as the first active image pattern following an inactive image pattern, while an inactive image pattern following an active image pattern indicates the end of a message. The encoding of a message is not restricted to the variations of colors. Variations of the locations of active regions can also be used to increase the amount of information represented by a single image pattern. 
         [0054]    Each active image pattern consists of background pixels with one color tone (e.g., white, light yellow or black) and at least two active regions with different color tones (e.g., R/R, R/G, R/B, G/G, G/R, B/B, B/R, B/G). An inactive image pattern consists of background pixels with the same or different color tone as the background pixels of an active image pattern (e.g., white, light yellow or black). Connectivity among background pixels is enforced in the design of image patterns. In particular, all background pixels are completely d-connected in each image pattern, which is defined as the following: given any two background pixels at locations x and y, respectively, there exists a connected path on the image such that a ball with diameter d (d&gt;=1 pixel) can be moved from x and y following the path and without touching any of the active regions on the image. Either 4-connectivity or 8-connectivity can be used in defining the connected path. 
         [0055]    The above connectivity requirement makes the invented image pattern family distinctive from QR codes, Mcodes, Semacodes and JagTags. The d-connectivity of background pixels is important in controlling the “bleeding” effect among active regions when the pattern is captured by a reader (e.g., a smart device with a video camera). Increasing the d value reduces the “bleeding” effect which in turn increases the distance at which the reader is able to correctly decode the image pattern. In the present case, when the size of the image pattern is just one tenth of a video display, the reader can correctly decode the image pattern captured from the video display at more than six times the height of the screen away from the reader, which is a relatively large distance compared to that of conventional embedded code systems (e.g., QR code based systems). 
         [0056]    Referring now to  FIGS. 9-12 , there is provided schematic illustrations useful for understanding a sequence of image patterns comprising an exemplary DDM  900 . The DDM  900  is defined by a code book portion  902 , a customer-specific portion  904 , and an end designator portion  906 . The code book portion  902  comprises a sequence of color coded image patterns  1002 - 1018 . The image patterns  1002 - 1018  provide reference image patterns that can be used for decoding an image pattern of the customer-specific portion  904 . In this regard, each image pattern  1002 - 1018  comprises a reference pattern for a symbol of a plurality of possible symbols (e.g.,  0 - 8 ) that can be represented by each image pattern of the customer-specific portion  904 . 
         [0057]    The code book portion  902  is contained in the DDM  900  for purposes of preventing (a) channel noise, (b) different lighting variations, color variations and color distortions of a plurality of display screens, and (c) variations in the optical characteristics of different image/video capturing devices from causing errors in a subsequent decoding process (which will be described below). Notably, inclusion of the code book portion  902  in the DDM  900  advantageously eliminates any requirement for a viewer&#39;s MCD to have pre-set parameters for detecting the image patterns and corresponding symbols. In this regard, it should be understood that the code book portion provides reference image patterns to which the image patterns of the customer-specific portion  904  can be compared for purposes of determining the sequence of symbols represented thereby. Accordingly, the code book portion  902  provides a dynamic calibration system for each individual display screen and its surrounding environment. Thus, the code book portion  902  ensures that the DDM based message delivery technique functions properly regardless of the particular display screen on which the DDM is displayed and/or the surrounding environment in which the display screen resides. 
         [0058]    The customer-specific portion  904  is then appended to the end of the code book portion  902 . The customer-specific portion  904  is created in some scenarios based on the customer code  702 , the commercial series  704  and the commercial number  706 . The customer-specific portion  904  comprises a sequence of color coded image patterns  1102 - 1108 . Each image pattern represents a respective portion of the sequence of symbols (e.g., digits “1234”). For example, first and second image patterns  1102 ,  1104  collectively represent the customer code  702  (e.g., digits “12”). A third image pattern  1106  represents the commercial series  704  (e.g., digit “3”). A fourth image pattern  1108  represents a commercial number  706  (e.g., digit “4”). The present invention is not limited in this regard. 
         [0059]    Next, the end designator portion  906  is appended to the end of the customer-specific portion  904 . The end designator portion  904  comprises an inactive image pattern (e.g., a solid block pattern). The end designator portion  904  provides a means for a decoding device to detect the end of the DDM  900 , and/or the start of a next iterative display of the DDM  900 . This will become more evident as the discussion progresses. 
         [0060]    Referring again to  FIG. 5 , step  512  is performed once the computing device  106  of the VCO  162  has possession of the DEM. In step  512 , the video and DDM are distributed to a display screen  110  of the viewer  160  directly by the VCO  162  or indirectly through another entity (e.g., a television station). At the display screen  110 , the video is presented to the viewer  160  along with the DDM  112 , as shown by step  514 . 
         [0061]    In some scenarios, the DDM is embedded in the video (as shown by method  1  of  FIG. 13 ) by the VCO  162  or other entity (e.g., an advertising agency). Alternatively, the DDM is a separate video clip from the video, and thus is presented to the viewer  160  in a picture-in-picture mode (as shown by method  2  of  FIG. 13 ). Picture-in-picture modes are well known in the art (e.g., multi-vision implementations), and therefore will not be described herein. Any known or to be known picture-in-picture mode can be employed herein without limitation. A picture-in-picture mode can be employed in both pre-recorded and live broadcast scenarios. In the picture-in-picture mode scenarios, algorithms in the content owners video editing program can be employed to ensure that the underlying video does not affect the subsequent decoding process of the customer-specific portion of the DDM as result of color changes therein. 
         [0062]    Notably, the DDM is presented such that the image patterns of the code book portion (e.g., code book portion  902  of  FIGS. 9-10 ), customer specific portion (e.g., customer specific portion  904  of  FIGS. 9 and 11 ), and end designator portion (e.g., end designator portion  906  of  FIGS. 9 and 12 ) are sequentially displayed in the defined order. For example, the image pattern  1002  of the code book portion  902  is displayed first for a given period of time (e.g., 1 tenths of a second). Next, the image pattern  1004  of the code book portion  902  is displayed, followed by image pattern  1006 , and so on. The entire DDM may be iteratively displayed N number of times during presentation of the video, where N is an integer value. Each iteration is separated by an end designator or inactive image pattern. As a consequence of the changing image pattern, simultaneous changes in color and location of active regions in the DDM create a visually dynamic mark on the video display which is visible yet not annoying to a viewer  160 . The DDM may be accompanied with text such as “Scan Now” so that the viewer  160  knows when to activate and direct the MCI)  102  at the DDM for processing. 
         [0063]    While the DDM is being displayed, the viewer  160  uses the MCD  102  to capture the DDM via a video camera  218  thereof, as shown by step  516  of  FIG. 5 . In response to such capturing, a decoding application  256  installed on the MCD  102  is caused to perform decoding operations, as shown by step  518  of  FIG. 5 . The decoding operations involve: processing the video of the captured DDM to extract at least one iteration thereof, processing the extracted iteration to detect each image pattern (e.g., image patterns  10024018  of  FIG. 10 ,  1102 - 1108  of  FIG. 11 ,  1200  of  FIG. 12 ) thereof; processing each image pattern e.g., image patterns  1002 - 1018  of  FIG. 10 ) of the code hook portion (e.g., code book portion  902  of  FIGS. 9 and 10 ) to determine reference image patterns and corresponding reference symbols (e.g.,  0 - 8 ) thereof; and processing each image pattern (e.g., image patterns  1102 - 1108  of  FIGS. 9 and 11 ) of the customer-specific portion (e.g., customer specific portion  904  of  FIGS. 9 and 11 ) of the DDM to determine the corresponding sequence of symbols represented thereby using the previously determined reference image patterns and corresponding reference symbols. 
         [0064]    In some scenarios, error detection and correction techniques are used to ensure that the correct sequence of symbols represented by the customer-specific portion of the DDM is ultimately obtained as a result of the decoding operations. Error detection and correction techniques are well known in the art, and therefore will not be described herein. Any known or to be known error detection and correction technique can be used herein without limitation. 
         [0065]    Alternative or additionally, the decoding operations involve performing pre-processing operations to identify which of a plurality of DDM iterations has the least amount of error(s). The identified DDM iteration is then selected and used in the decoding process to determine the corresponding sequence of symbols represented thereby. 
         [0066]    Also, in some scenarios, a pattern classifier is employed. The pattern classifier predicts the most likely symbol based on the color content of a region. The pattern classifier is dynamic in nature. Specifically, the pattern classifier is self-adjusted in each message sequence based on the received header information, i.e., patterns of the code book portion. In this way, the system reduces the adverse effect caused by variations of lighting condition and possible color distortions. 
         [0067]    After the MCD  106  determines the symbol sequence (e.g., digits “1234”) represented by the customer-specific portion of the DDM, it forwards the same to a server  114  of the MG facility  154 , as shown by step  520  of  FIG. 5 . At the MG facility  154 , step  522  is performed where the symbol sequence is processed to determine if it matches one of a plurality of symbol sequences stored in a database  116 . If the symbol sequence does not match one of the stored symbol sequences [ 524 :NO], then the process ends or other processing is performed (e.g., output an indication to the viewer that the captured DDM could not be decoded). In contrast, if the symbol sequence matches one of the stored symbol sequences [ 524 :YES], then the server  114  performs operations to cause at least one VCO specified event to occur. For example, the server  114  may perform operations such as: query a sponsor/offer database (as shown in  FIG. 17 ) for offers/coupons; and transmit available offers/coupons or other advertisement material in a digital format directly to the MCD  106  or via an electronic message (e.g., a text message, web browser or an electronic mail message). The offer/coupon could then be saved in a shopping application residing on the MCD and then used at a Point Of Sale (“POS”). In this case, a code contained in the coupon can be obtained by a barcode reader or other short range communication device (such as a Near Field Communication device) of the POS for redemption. Additionally or alternatively, the server  114  may perform operations to send a given URL to a web browser  252  of the MCD  106 , whereby the viewer  160  is shown particular web content specified by the VCO. The web content can include an interface in which the viewer  160  can select at least one option from a plurality of options (e.g., a web page from which one or more items can be purchased, or from which a coupon/offer may obtained or forwarded to a friend). In this case, the MCD  106  may communicate to the server  114  information specifying the viewer&#39;s selection of the option. In response to the reception of this information, the server  114  completes the process. 
         [0068]      FIG. 15  provides another schematic illustration of operations performed in accordance with the present invention. In  FIG. 15 , an optical flow approach and image segmentation is performed in real time to process each video frame to identify a region of the video image containing the DDM. As such, a viewer  1502  captures a DDM  1504  displayed on a display device  1506  along with a video. The DDM is captured using a video camera of a smart device  1508 . The smart device  1508  has a code reader. The code reader may be implemented as hardware and/or software. In the software scenarios, a code reader/decoding software application is installed on the smart device  1508 . This software application enables the smart device  1508  to perform various operations shown by functional blocks  1510 - 1518 : segment image patterns from a captured video; recognize one or more image patterns from a captured video; perform any necessary error correction; decode the message (i.e., determine which symbol of a plurality of symbols is represented by each image pattern of a sequence of image patterns; perform any necessary error correction); and transmit the decoded message (e.g., a sequence of symbols) to a data processing center  1520 . The decoded message may be transmitted to the data processing center using any known or to be known communications technology (such as WiFi based technology, cell tower based technology, and/or cable modem based technology as shown in  FIG. 16 ). At the data processing center  1520 , the decoded message is processed to determine if any action should be taken, such as provide a coupon or other information to the viewer  1502  as shown in  FIG. 17 . In some scenarios, the viewer  1502  may be prompted to respond to a message sent to the smart device  1508  in response to the decoded message. For example, as shown in  FIGS. 18 and 19 , the action comprises a shopping based action for facilitating online shopping by the viewer  1502 . 
         [0069]    MCD Architecture 
         [0070]    Referring now to  FIG. 3 , there is provided a schematic illustration of an exemplary architecture for the MCD  102 . MCD  102  may include more or less components than those shown in  FIG. 3 . However, the components shown are sufficient to disclose an illustrative embodiment implementing the present invention. Some or all of the components of the MCD  102  can be implemented in hardware, software and/or a combination of hardware and software. The hardware includes, but is not limited to, one or more electronic circuits. 
         [0071]    As noted above, MCI)  102  can include, but is not limited to, a notebook computer, a personal digital assistant, a cellular phone or a mobile phone with smart device functionality (e.g., a Smartphone). In this regard, the MCD  102  comprises an antenna  302  for receiving and transmitting Radio Frequency (“RF”) signals. A receive/transmit (“Rx/Tx”) switch  304  selectively couples the antenna  302  to the transmitter circuitry  306  and the receiver circuitry  308  in a manner familiar to those skilled in the art. The receiver circuitry  308  demodulates and decodes the RF signals received from an external device. The receiver circuitry  308  is coupled to a controller (or microprocessor)  310  via an electrical connection  334 . The receiver circuitry  308  provides the decoded signal information to the controller  310 . The controller  310  uses the decoded RF signal information in accordance with the function(s) of the MCD  102 . The controller  310  also provides information to the transmitter circuitry  306  for encoding and modulating information into RF signals. Accordingly, the controller  310  is coupled to the transmitter circuitry  306  via an electrical connection  338 . The transmitter circuitry  306  communicates the RF signals to the antenna  302  for transmission to an external device via the Rx/Tx switch  304 . 
         [0072]    MCD  102  is also comprises an antenna  340  coupled to an SRC transceiver  314  for receiving SRC signals. SRC transceivers are well known in the art, and therefore will not be described in detail herein. However, it should be understood that the SRC transceiver  314  processes the SRC signals to extract information therefrom. The SRC transceiver  314  may process the SRC signals in a manner defined by the SRC application installed on the MCD  102 . The SRC application can include, but is not limited to, a Commercial Off the Shelf (“COTS”) application. The SRC transceiver  314  is coupled to the controller  310  via an electrical connection  336 . The controller uses the extracted information in accordance with the function(s) of the MCD  102 . 
         [0073]    The controller  310  may store received and extracted information in memory  312  of the MCD  102 . Accordingly, the memory  312  is connected to and accessible by the controller  310  through electrical connection  332 . The memory  312  may be a volatile memory and/or a non-volatile memory. For example, memory  312  can include, but is not limited to, a RAM, a DRAM, a ROM and a flash memory. The memory  312  may also comprise unsecure memory and/or secure memory. The memory  312  can be used to store various other types of data  360  therein, such as authentication information, cryptographic information, location information, and various article-related information. 
         [0074]    As shown in  FIG. 3 , one or more sets of instructions  350  are stored in memory  312 . The instructions may include customizable instructions and non-customizable instructions. The instructions  350  can also reside, completely or at least partially, within the controller  310  during execution thereof by MCD  102 . In this regard, the memory  312  and the controller  310  can constitute machine-readable media. The term “machine-readable media”, as used herein, refers to a single medium or multiple media that stores one or more sets of instructions  350 . The term “machine-readable media”, as used here, also refers to any medium that is capable of storing, encoding or carrying the set of instructions  350  for execution by the MCD  102  and that causes the MCI)  102  to perform one or more of the methodologies of the present disclosure. 
         [0075]    The controller  310  is also connected to a user interface  330 . The user interface  330  comprises input devices  316 , output devices  324  and software routines (not shown in  FIG. 3 ) configured to allow a user to interact with and control software applications (e.g., software applications  352 ,  356  and other software applications) installed on MCD  102 . Such input and output devices may include, but are not limited to, a display  328 , a speaker  326 , a keypad  320 , a directional pad (not shown in  FIG. 3 ), a directional knob (not shown in  FIG. 3 ), a microphone  322 , and a video camera  318 . The display  328  may be designed to accept touch screen inputs. As such, user interface  330  can facilitate a user software interaction for launching applications (e.g., software applications  352 ,  356  and other software applications) installed on MCI)  102 . The user interface  330  can facilitate a user-software interactive session for capturing and decoding a DDM (e.g., DDM  112  of  FIG. 1 ). 
         [0076]    The display  328 , keypad  320 , directional pad (not shown in  FIG. 3 ) and directional knob (not shown in  FIG. 3 ) can collectively provide a user with a means to initiate one or more software applications or functions of MCI)  102 . The application software  352 ,  356  can facilitate the capturing and decoding of a DDM, as well as the communication with a server  114  located at a remote site. 
         [0077]    Exemplary Server Architecture 
         [0078]    Referring now to  FIG. 4 , there is provided a schematic illustration of an exemplary architecture for the server  114 . The server  114  may include more or less components than those shown in  FIG. 4 . However, the components shown are sufficient to disclose an illustrative embodiment implementing the present invention. The hardware architecture of  FIG. 3  represents one embodiment of a representative server configured to facilitate the provision of DDM based services. As such, the server  114  of  FIG. 4  implements at least a portion of a method for generating a DDM and providing certain services in response to the reception of the DDM at an MCD. Some or all the components of the server  114  can be implemented as hardware, software and/or a combination of hardware and software. The hardware includes, but is not limited to, one or more electronic circuits. The electronic circuits can include, but are not limited to, passive components (e.g., resistors and capacitors) and/or active components (e.g., amplifiers and/or microprocessors). The passive and/or active components can be adapted to, arranged to and/or programmed to perform one or more of the methodologies, procedures, or functions described herein. 
         [0079]    As shown in  FIG. 4 , the server  114  comprises a user interface  402 , a Central Processing Unit (“CPU”)  406 , a system bus  410 , a memory  412  connected to and accessible by other portions of server  114  through system bus  410 , and hardware entities  414  connected to system bus  410 . The user interface can include input devices (e.g., a keypad  450 , mouse  434  and microphone  436 ) and output devices (e.g., speaker  452 , a display  454 , a vibration device  458  and/or light emitting diodes  356 ), which facilitate user-software interactions for controlling operations of the server  114 . 
         [0080]    At least some of the hardware entities  414  perform actions involving access to and use of memory  412 , which can be a Random Access Memory (“RAM”), a disk driver and/or a Compact Disc Read Only Memory (“CD-ROM”). The server  114  also comprises a Short Range Communication (“SRC”) unit  432 . 
         [0081]    Hardware entities  414  can include a disk drive unit  416  comprising a computer-readable storage medium  418  on which is stored one or more sets of instructions  420  (e.g., software code) configured to implement one or more of the methodologies, procedures, or functions described herein. The instructions  420  can also reside, completely or at least partially, within the memory  412  and/or within the CPU  406  during execution thereof by the server  114 . The memory  412  and the CPU  406  also can constitute machine-readable media. The term “machine-readable media”, as used here, refers to a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions  420 . The term “machine-readable media”, as used here, also refers to any medium that is capable of storing, encoding or carrying a set of instructions  420  for execution by the server  114  and that cause the server  114  to perform any one or more of the methodologies of the present disclosure. 
         [0082]    In some embodiments of the present invention, the hardware entities  414  include an electronic circuit (e.g., a processor) programmed for facilitating the provision of DDM based services. In this regard, it should be understood that the electronic circuit can access and run a software application  424  installed on the server  114 . The software application  424  is generally operative to facilitate the creation or generation of a DDM, as well as the communication of the DDM to an external device. The software application  424  is generally operative to facilitate the provision of certain events upon receipt of a symbol sequence represented by a DDM captured via an MCD. 
         [0083]    Although the invention has been illustrated and described with respect to one or more implementations, equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In addition, while a particular feature of the invention may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Thus, the breadth and scope of the present invention should not be limited by any of the above described embodiments. Rather, the scope of the invention should be defined in accordance with the following claims and their equivalents.