RELATED APPLICATIONS 1. For purposes of the USPTO extra-statutory requirements, the present application constitutes a continuation in part of currently co-pending United States patent application entitled TECHNIQES FOR IMAGE GENERATION, naming Royce A. Levien; Robert W. Lord; Mark A. Malamud and John D. Rinaldo, Jr., as inventors, USAN: Ser. No. 11/173,990, filed Jul. 1, 2005.
2. For purposes of the USPTO extra-statutory requirements, the present application constitutes a continuation in part of currently co-pending United States patent application entitled PROVIDING PROMOTIONAL CONTENT, naming Royce A. Levien; Robert W. Lord; Mark A. Malamud and John D. Rinaldo, Jr., as inventors, USAN: Ser. No. 11/174,432, filed Jul. 1, 2005.
3. For purposes of the USPTO extra-statutory requirements, the present application constitutes a continuation in part of currently co-pending United States patent application entitled MODIFYING RESTRICTED IMAGES, naming Royce A. Levien; Robert W. Lord; Mark A. Malamud and John D. Rinaldo, Jr., as inventors, USAN: To be Assigned, filed Aug. 2, 2005.
CROSS-REFERENCE TO RELATED APPLICATIONS The present application is related to, claims the earliest available effective filing date(s) from (e.g., claims earliest available priority dates for other than provisional patent applications; claims benefits under 35 USC § 119(e) for provisional patent applications), and incorporates by reference in its entirety all subject matter of the following listed application(s) (the “Related Applications”) to the extent such subject matter is not inconsistent herewith; the present application also claims the earliest available effective filing date(s) from, and also incorporates by reference in its entirety all subject matter of any and all parent, grandparent, great-grandparent, etc. applications of the Related Application(s) to the extent such subject matter is not inconsistent herewith. The United States Patent Office (USPTO) has published a notice to the effect that the USPTO's computer programs require that patent applicants reference both a serial number and indicate whether an application is a continuation or continuation in part. Kunin,Benefit of Prior-Filed Application,USPTO Electronic Official Gazette, Mar. 18, 2003 at http://www.uspto.gov/web/offices/com/sol/og/2003/week11/patbene.htm. The present applicant entity has provided below a specific reference to the application(s)from which priority is being claimed as recited by statute. Applicant entity understands that the statute is unambiguous in its specific reference language and does not require either a serial number or any characterization such as “continuation” or “continuation-in-part.” Notwithstanding the foregoing, applicant entity understands that the USPTO's computer programs have certain data entry requirements, and hence applicant entity is designating the present application as a continuation in part of its parent applications, but expressly points out that such designations are not to be construed in any way as any type of commentary and/or admission as to whether or not the present application contains any new matter in addition to the matter of its parent application(s).
SUMMARY An embodiment provides a method. In one implementation, the method includes but is not limited to determining that a modified media asset includes a modified portion that has been modified from a former portion, and altering the modified media asset to produce a restored media asset in which at least a part of the former portion is restored. In addition to the foregoing, other method aspects are described in the claims, drawings, and text forming a part of the present disclosure.
An embodiment provides a computer program product. In one implementation, the computer program product includes but is not limited to a signal bearing medium bearing at least one of one or more instructions for determining that a modified media asset includes a modified portion that has been modified from a former portion, and one or more instructions for altering the modified media asset to produce a restored media asset in which at least a part of the former portion is restored. In addition to the foregoing, other computer program product aspects are described in the claims, drawings, and text forming a part of the present disclosure.
An embodiment provides a system. In one implementation, the system includes but is not limited to a computing device and instructions. The instructions when executed on the computing device cause the computing device to determine that a modified media asset includes a modified portion that has been modified from a former portion, and alter the modified media asset to produce a restored media asset in which at least a part of the former portion is restored. In addition to the foregoing, other system aspects are described in the claims, drawings, and text forming a part of the present disclosure.
An embodiment provides a device. In one implementation, the device includes but is not limited to a processing system, the processing system comprising recognition logic that is operable to determine that a modified media asset includes a modified portion that has been modified from a former portion, and restoration logic that is operable to alter the modified media asset to produce a restored media asset in which at least a part of the former portion is restored. In addition to the foregoing, other device aspects are described in the claims, drawings, and text forming a part of the present disclosure.
An embodiment provides another method. In one implementation, the method includes but is not limited to providing a modified media asset to a processing system for recognition of a modified portion within the modified media asset that has been modified from a former portion, and receiving a restored media asset in which at least a part of the former portion is restored. In addition to the foregoing, other method aspects are described in the claims, drawings, and text forming a part of the present disclosure.
In one or more various aspects, related systems include but are not limited to circuitry and/or programming for effecting the herein-referenced method aspects; the circuitry and/or programming can be virtually any combination of hardware, software, and/or firmware configured to effect the herein-referenced method aspects depending upon the design choices of the system designer.
In addition to the foregoing, various other embodiments are set forth and described in the text (e.g., claims and/or detailed description) and/or drawings of the present description.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, features, and advantages of the devices and/or processes described herein, as defined by the claims, will become apparent in the detailed description set forth herein.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates an example system in which embodiments may be implemented, perhaps in a device.
FIGS. 2A-2C illustrate certain alternative embodiments of the device and/or processing system ofFIG. 1.
FIG. 3 illustrates an operational flow representing example operations that produce a restored media asset.
FIG. 4 illustrates an alternative embodiment of the example operational flow ofFIG. 3.
FIG. 5 illustrates another alternative embodiment of the example operational flow ofFIG. 3.
FIG. 6 illustrates another alternative embodiment of the example operational flow ofFIG. 3.
FIG. 7 illustrates another alternative embodiment of the example operational flow ofFIG. 3.
FIG. 8 illustrates an alternative embodiment of the example operational flow ofFIG. 3.
FIG. 9 illustrates an alternative embodiment of the example operational flow ofFIG. 3.
FIG. 10 illustrates an alternative embodiment of the example operational flow ofFIG. 3.
FIG. 11 illustrates an alternative embodiment of the example operational flow ofFIG. 3.
FIG. 12 illustrates a partial view of an example computer program product that includes a computer program for executing a computer process on a computing device.
FIG. 13 illustrates an example device in which embodiments may be implemented.
FIG. 14 illustrates an operational flow representing example operations by which a user receives a restored media asset.
The use of the same symbols in different drawings typically indicates similar or identical items.
DETAILED DESCRIPTIONFIG. 1 illustrates anexample system100 in which embodiments may be implemented, perhaps in the context of a device. InFIG. 1, aformer media asset101 is assumed to have been modified, converted, manipulated, or otherwise transformed into a modifiedmedia asset102. Although full discussion and details as to how or why such modification may take place are not provided herein, it should be understood that various possibilities and techniques exist for obtaining the modifiedmedia asset102 from theformer media asset101. By way of example and not limitation, a user may modify theformer media asset101 using conventional audio or image editing tools. As another example, a system may input theformer media asset101 and perform certain operations thereon to obtain the modifiedmedia asset102, such as, for example, obscuring, enhancing, processing, or replacing portions of theformer media asset101. Further examples of such operations include rotating, scaling, coloring, or substituting portions of theformer media asset101, or altering a contrast, brightness, or other attribute of theformer media asset101. Such operations may be performed, for example, in order to improve theformer media asset101 or otherwise to match a user preference, to block out certain portions of theformer media asset101, or to anonymize or otherwise obscure an identity of a person or other subject of theformer media asset101.
At some time after being modified, the modifiedmedia asset102 is received at aprocessing system104 and thereafter output by theprocessing system104 as a restoredmedia asset106. More specifically, the modifiedmedia asset102 includes a modifiedportion108, and theprocessing system104 is operable to determine that the modifiedportion108 is, in fact, modified from some former state.
Theprocessing system104 is further operable to restore the modifiedmedia asset102, and in particular, to restore at least a portion of the modifiedportion108, and thereafter output the restoredmedia asset106 having a restoredportion110. In this way, for example, the modifiedmedia asset102 may be viewed in its original form (or in some version of some previous form).
Of course, the example just mentioned does not imply a limitation that the restoredportion110 is identical to theformer portion107. For example, only a part of theformer portion107 may be included in the restoredportion110, and even this part may be modified (e.g., clarified or enhanced) with respect to its counterpart in the actualformer portion107.
Also, although the example ofFIG. 1 illustrates an image of a human figure as theformer portion107, modifiedportion108, and the restoredportion110, it is apparent that any other subject or element of a modified media asset may be restored in the manner described, including images of places and things, and including a non-image subject (e.g., a spoken word or other sound). Additionally, the modifiedportion108 need not include a single, or any, discernable element of the modifiedmedia asset102, and may represent, for example, a background or blank space in the modifiedmedia asset102 that has obscured theformer portion107, but that is nonetheless determined by theprocessing system104 and restored within the restoredmedia asset106. Thus, the terms subject, element, item, discernable element, or similar terms should be read accordingly, unless context dictates otherwise.
Theprocessing system104 includesrecognition logic112 that is operable to recognize the modified nature of the modifiedportion108. Theprocessing system104 also includesrestoration logic114 that is operable to restore the modified media asset102 (including the modified portion108) to obtain the restoredmedia asset106 and the restoredportion110.
As described in more detail herein, therecognition logic112 may determine the modifiedportion108 within the modifiedmedia asset102 usingrecognition criteria116. As also described in more detail herein, therestoration logic114 may obtain the restoredportion110 by accessingrestoration criteria118, and/or by accessingsubstitute information119. Specific examples of operations involving these elements of theprocessing system104 are provided below in the context of various operational flows.
Generally speaking, however, therecognition logic112 may operate to analyze various attributes of the modifiedmedia asset102, including, for example, attributes of the modifiedportion108, in order to determine a modified nature of the modifiedportion108. One example of attributes of the modifiedmedia asset102 that is illustrated inFIG. 1 includes concurrent image(s)120, i.e., therecognition logic112 may make a determination that the modifiedportion108 is modified based on a presence or absence of the concurrent image(s)120, or based on the presence or absence of certain attributes of the concurrent image(s)120. Of course, attributes of the modifiedmedia asset102 are not necessarily limited to characteristics of the modifiedmedia asset102, and also may include, for example, metadata associated with the modifiedmedia asset102, an identity of a person, place, or thing within or in association with the modifiedportion108, or information related to a person and/or device involved in capturing the modifiedmedia asset102. Meanwhile, therestoration logic114 may operate to restore the restoredportion110, by, for example, selecting theformer portion107 from thesubstitution information119, for inclusion in whole or in part in the restoredportion110.
Further inFIG. 1, auser122 accesses theprocessing system104 by way of a user interface124. In this way, theuser122 may, for example, submit the modifiedmedia asset102 to theprocessing system104, or receive the restoredmedia asset106 from theprocessing system104, or may become involved in operations of theprocessing system104. The user interface124 also may be used, for example, to define or modify therecognition criteria116, or to select therestoration criteria118. The user interface124 also may be used to control a type and/or extent of the recognition performed by therecognition logic112, or to control a type and/or extent of the restorations performed by therestoration logic114.
Also inFIG. 1, adevice126 is shown in which theprocessing system104 may operate. As described in more detail with respect toFIG. 2 and following figures, thedevice126 may include in some examples, an image capture device, a print device, a display device, an audio capture device, a general-purpose computing device, or virtually any other device or combination of devices that may be used to store, transmit, display, or render a media asset.
Theprocessing system104 also may be operable to perform other processing of the modifiedmedia asset102, such as, for example, enhancing, editing, displaying, or otherwise improving the modifiedmedia asset102, or, in other example embodiments, such additional processing may be performed by other external systems (not shown), if needed.
FIG. 1 also illustrates the possibility that the modifiedmedia asset102 may be associated withmetadata128. For example, a video stream may have an associated closed-captioning stream, or a web page may have metadata associated with content of the page. Typically,such metadata128 may not be viewable to theuser122, or may only be viewable if some specific action is taken by theuser122. Themetadata128 may be intended by a designer or producer of the modifiedmedia asset102, or by an intervening user of the modifiedmedia asset102, to provide additional information or level of enjoyment to theuser122, and may be used by theprocessing system104 to assist in, for example, determining the modifiedportion108, as described in more detail, below. Themetadata128 may or may not be included within, or otherwise associated with, theformer media asset101, or the restoredmedia asset106.
A symbol ortext130, on the other hand, generally represents information that is included within the modifiedmedia asset102 for normal viewing, listening, or other reception by theuser122 or another user. For example, a web page may include a news article that names a person who is pictured in the article. By using the name text, therecognition logic112 may be able to determine identity or other information regarding the modifiedportion108, or the concurrent image(s)120, and may therefore take associated restorative action to obtain the restoredmedia asset106.
InFIG. 1, it should be understood that any and/or all of the illustrated elements, and other elements, not illustrated, may be in communication with one another according to any known methods, including but not limited to the various communication techniques discussed herein. As such, it should be understood that the various elements need not be located or co-located as illustrated in the example ofFIG. 1. For example, in some embodiments, therecognition logic112 and/or therecognition criteria116 may be remote from theprocessing system104. Similarly, the user interface124 may be implemented at a local computing device of theuser122, remote from theprocessing system104, or may be a part of thedevice126 that may house theprocessing system104, as well.
FIGS. 2A-2C illustrate certain alternative embodiments of thedevice126 and/orprocessing system104 ofFIG. 1. InFIG. 2A, thedevice126 is illustrated as aprinter126a,which includes theprocessing system104 and adisplay202. Thedisplay202 may be used to display a preview of a media asset to be printed with theprinter126a,such as, for example, theformer media asset101, the modifiedmedia asset102 and/or the restoredmedia asset106, and, of course, theprinter126amay be used to print the modifiedmedia asset102 and/or the restoredmedia asset106 onpaper204, as well.
Thedisplay202 also should be understood to function, in some example embodiments, as the user interface124. For example, thedisplay202 may include touch-screen control for operating theprinter126aand/or theprocessing system104, or various buttons, keys, or other selection/input devices (not shown) may be used. In additional or alternative embodiments, an external computing device may be connected to theprinter126afor control thereof, including control of theprocessing system104.
InFIG. 2B, thedevice126 is illustrated as acamera126b,which, similarly to theprinter126a,includes some or all of theprocessing system104, as well as adisplay206. As with theprinter126a,thecamera126b(and/or the processing system104) may be controlled by theuser122, either using the display206 (and possibly associated controls), or using an external computing device.
InFIG. 2C, theprocessing system104 is illustrated as part of a processing service208, which may be remote from theuser122 at adisplay device210, and in communication therewith by way of anetwork212. In such example embodiments, theuser122 may use thedisplay device210 to transmit and receive the modifiedmedia asset102 and/or the restoredmedia asset106, respectively, in order to obtain the various advantages described herein. Of course, thedisplay device210 may include any computing device that may include a display, including, for example, a personal digital assistant (PDA), a laptop computer, a desktop computer, or any other of the examples provided herein and/or that are generally known. Also, as shown, theprocessing system104 may be included in the display device210 (or any other computing device), as well. In one example, discussed in more detail below, the processing service208 may operate as a clearinghouse at which media assets of various types and captured by a number of users may be processed, so that any modified images therein may be restored appropriately.
InFIG. 3 and in following figures that include various examples of operational flows, discussion and explanation may be provided with respect to the above-described examples ofFIGS. 1, 2A,2B, and2C, and/or with respect to other examples and contexts. However, it should be understood that the operational flows may be executed in a number of other environment and contexts, and/or in modified versions ofFIGS. 1, 2A,2B, and2C. Also, although the various operational flows are presented in the sequence(s) illustrated, it should be understood that the various operations may be performed in other orders than those which are illustrated, or may be performed concurrently.
FIG. 3 illustrates anoperational flow300 representing example operations that produce the restoredmedia asset106. After a start operation, theoperational flow300 moves to a determiningoperation310 where it is determined that the modifiedmedia asset102 includes the modifiedportion108 that has been modified from theformer portion107. For example, therecognition logic112 of theprocessing system104 may determine that the modifiedportion108 includes a person, place, or thing that is known to be used as a replacement image or other subject, and that, for example, therefore may be subject to restoration to a former image or other subject, within the restoredmedia asset106. Various other examples of the determiningoperation310 are provided in detail, below.
At an alteringoperation320, the modifiedmedia asset102 is altered to produce the restoredmedia asset106 in which at least a part of theformer portion107 is restored. For example, as inFIG. 1, therestoration logic114 may operate to replace a modified image of a person or a part of a person with a former image of an originally-imaged person (or part thereof). In this case, the restored or revealed part or portion may include, for example, one or more of a body (part) shape, a shared facial feature or skin tone, a shared gender or race, a shared hair color or body physique, or numerous other examples, and combinations thereof. Of course, the modified image need not be of a person, but also may include virtually any object that may be imaged, including places, objects, or landmarks, to name just a few. Further, the modified image need not be of a single one of these possibilities, but could include multiple people, places, or things, or combinations thereof. Further, the media asset(s)101,102, and106 need not include images, and may include audio media assets, text media assets, and other media assets (some examples of which are given below), as well as combinations thereof. Further examples are provided below.
In some embodiments, theuser122 may include a person, an entity, and/or a government. Although a user may be shown herein as a single illustrated figure, and/or be described in the singular, those skilled in the art will appreciate that the term user may be representative of one or more human user(s), robotic user(s) (e.g., computational entity), and/or substantially any combination thereof (e.g., a user may be assisted by one or more robotic agents). Further, the user, as set forth herein, even if shown as a single entity, may in fact be composed of two or more entities. Those skilled in the art will appreciate that, in general, the same may be said of “sender” and/or other entity-oriented terms as such terms may be used herein.
In some embodiments, the modifiedmedia asset102 may include a visual image, a picture, a website, an audio recording, a video stream, and/or an audio stream. In additional or alternative embodiments, the modifiedmedia asset102 also may include text, such as may be included in an article or other writing, or in a website. The modifiedmedia asset102 may be embodied in various forms, including but not limited to digital files or transmissions, analog recordings or transmissions, or may be embodied in physical form, such as, for example, on paper, plastic, canvas, wood, or any other physical medium in which text, image, or other representations may be embodied.
The modifiedmedia asset102 may be received, stored and/or transmitted using typical elements of a computer environment. The modified media asset102 (and the restored media asset106) may be transmitted over a network such as thenetwork212 ofFIG. 2, which may represent, for example, a local area network (LAN), a wide area network (WAN), or a peer-to-peer (P2P) network, or the modifiedmedia asset102 may be broadcast over the air.
Theformer media asset101, the modified media asset102 (and the restored media asset106) may be captured, received, displayed and/or transmitted, for example and without limitation, using one or more of the following: an electronic device; an appliance; a computing device, such as a personal computer and a server; a limited resource computing device; a pervasive computing device; a personal digital assistant (PDA); a cell phone; a Blackberry appliance; a vehicle, such as a car, boat, and/or aircraft; an X-Box; a home gateway; a set-top box; a television, a radio, a camera; a printer; a digital video disc (DVD) recorder or burner; and a TiVo or other digital video recorder (DVR).
FIG. 4 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 4 illustrates example embodiments where the determiningoperation310 may include at least one additional operation. Additional operations may includeoperation402, operation404, operation406, operation408, and/oroperation410.
At theoperation402, a request from a user for the restored media asset is received. For example, theuser122 may request the restoredmedia asset106 from theprocessing system104. Specifically, for example, theuser122 may know or suspect that the modifiedmedia asset102 has, in fact, been modified (and may or may not know that the modifiedportion108 is the specific portion that has been modified), and may submit or otherwise identity the modifiedmedia asset102 to theprocessing system104 to obtain the restoredmedia asset106.
At the operation404, payment is received from a user for obtaining the restored media asset. For example, theuser122 may offer payment to theprocessing system104, or an operator thereof, for the service of providing the restoredmedia asset106. Here, theuser122 may be the same user requesting the restoredmedia asset106 of theoperation402, or may be a different user.
Also, payment may refer generally to any type of monetary compensation, and/or non-monetary compensation, and/or economic value exchange. Such payment may, for example, occur between any pair of entities and/or other group of entities. By way of example and not limitation, a payment may include a non-monetary payment, such as a credit or coupon that may be exchanged for goods or services, a reduced or eliminated cost to a user or users for related or non-related goods or services. In another example, a payment may include granting a party certain rights or permissions as payment, such as information-related permissions. This may involve granting a party rights to certain information the party ordinarily would not have rights to access, or rights to use certain information in a particular manner. For example, one type of payment may include a party allowing another party to keep a user's personal information in a database for marketing or research purposes. In another example, as compensation or payment, a user or users may grant another party the right to monitor computer usage, or preferences or buying habits of the user in certain contexts, or the right to monitor a physical location or activity of the user. The user also may accept cash or cash-equivalents as payment from the provider for providing such entitlements, rights, or permissions. Thus, by providing and/or receiving monetary or non-monetary value, in an amount that may be designated as part of an agreement between the relevant parties, the parties may gain advantages and benefits that are mutually acceptable to both.
At the operation406, metadata associated with the modified media asset that identifies the modified media asset as containing the modified portion is determined. For example, therecognition logic112 may access themetadata128, which may include, for example, a marker associated with the modifiedmedia asset102 that was imposed by a camera of theuser122 when (or after) theformer media asset101 or the modifiedmedia asset102 was obtained, or a marker that was associated with theformer media asset101 or the modifiedmedia asset102 sometime after capture or receipt thereof.
For example, where the modifiedmedia asset102 includes a web page, therecognition logic112 may analyze portions of the web page, including source code associated with the web page, that may provide information about, for example, any of the factors mentioned herein, or other factors (e.g., a capturing user or device, the concurrently-imaged object(s)120, or any other information about the modifiedmedia asset102 that may be useful to therecognition logic112 in determining the modified portion108). For example, where the modifiedmedia asset102 includes a video stream, a closed-captioning stream that is associated with the modifiedmedia asset102 may be analyzed. For example, the modifiedmedia asset102 may represent a television show or movie that has an associated closed-captioning stream, which may be analyzed by therecognition logic112 to assist in making a determination regarding the modifiedportion108.
At the operation408, at least an attribute of the modified media asset is associated with a capture device used to obtain at least a part of the modified media asset. For example, therecognition logic112 may analyze any one of a number of attributes of the modifiedmedia asset102, for association with such a capture device (e.g., thecamera126bofFIG. 2). To name a few such attributes by way of example and not limitation, therecognition logic112 may determine an attribute of the concurrent image(s)120 within the modifiedmedia asset102, where the concurrent image(s)120 may include virtually any item that may be imaged within the modifiedmedia asset102. The concurrent image(s)120 also may be used to determine a setting content of the modifiedmedia asset102, such as, for example, a landmark, location, site, or venue at which theformer media asset101 or the modified media asset102 (or portion thereof) was captured.
By associating these and possibly other attributes of the modified media asset102 (some of which are provided below), the recognition logic may determine that the associated user capture device (e.g., thecamera126bofFIG. 2B), may be known to capture certain content that will be, or is likely to be, modified. For example, a camera that is known to be in a certain location, or of a certain make, model, or brand, or belonging to a certain user, or subject to a particular user agreement, may be known to modify (e.g., obscure or replace) all images of a certain person, place or thing, and, further, may be known to perform a certain type of modification (e.g., use a particular substitution item). Similarly, cameras in a high-security facility, or cameras at an event with a public figure(s) (e.g., a movie star, politician, or professional athlete) may be modified from capturing images of certain people, places, or things. Thus, by knowing these facts, therecognition logic112 may detect the certain type of modification in order to determine the associated camera, or conversely, may determine the associated camera and then search for the modification accordingly.
Somewhat analogously, at theoperation410, at least an attribute of the modifiedmedia asset102 may be associated with a user known to have captured at least a part of the modified media asset. That is, similarly to the capture device examples above, a particular user may be associated with certain modifications or types of modifications. For example, theuser122 may be a newspaper photographer working for a newspaper that has agreed not to take any pictures of certain public figures (or spouses or families thereof), and has further agreed that any such pictures will be replaced with anonymous images, or otherwise obscured.
In the cases and examples above, any pictures known to have been captured by the user122 (e.g., the modified media asset102) and/or with thecamera126bmay be examined by therecognition logic112 upon submission, for example, to theprocessing system104. The modifiedmedia asset102 may then be examined for the anonymous images, or other obscuring techniques, that are associated with the particular user or camera. In this way, for example, someone with appropriate permission who wishes to alter the modifiedmedia asset102 and obtain the restoredmedia asset106 may have a starting point for identifying that the modifiedportion108 has been modified, and may know or suspect that the modifiedportion108 may therefore contain desired content when restored.
For example, therecognition logic112 may associate the modifiedmedia asset102 or a portion thereof with theuser122 and/or thecamera126bby recognizing themetadata128 associated with the modifiedmedia asset102. In other examples, theuser122 may be required to identify himself or herself to theprocessing system104 before processing begins, or theprocessing system104 may recognize some identifier of thecamera126b,so that therecognition logic112 may react accordingly.
FIG. 5 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 5 illustrates example embodiments where the determiningoperation310 may include at least one additional operation. Additional operations may includeoperation502,operation504,operation506,operation508,operation510, operation512, and/oroperation514.
At theoperation502, at least the modified portion of the media asset is analyzed to recognize the modified portion. For example, therecognition logic112 may analyze the modifiedportion108, or may examine the concurrent image(s)120, or some combination thereof.
Implementations of theoperation502 may include additional operations. For example, at theoperation504, image analysis of the modified media asset may be performed. For example, therecognition logic112 may perform image analysis to determine that the modifiedportion108 includes an image of a person, or portion thereof, or any other object that may be visually imaged. The image recognition analysis may include, for example, color analysis, pattern-matching, pattern-recognition, facial recognition, or any other technique for recognizing a particular image or type of image.
Further, at theoperation506, audio analysis of the modified media asset may be performed. For example, therecognition logic112 may perform a speech recognition analysis to determine certain words or sounds from thesubstitutions information119 that are known to act as replacements for curse words or other spoken or audible restricted sounds. As should be apparent, therestoration logic114 may then restore these words or sounds within the restoredmedia asset106.
At theoperation508, an attribute of an included subject within the modified media asset is determined. For example, if the modifiedmedia asset102 includes an imaged subject, therecognition logic112 may determine any image attribute mentioned herein, or other attributes, including size, shape, color, identity, race, gender, physique, an associated capture device or capturing user, or any other attribute that may be associated with the subject. If the modifiedmedia asset108 includes audio, then therecognition logic112 may recognize any attribute of a spoken word or other sound, such as a volume, an inflection or emphasis, an accent, or a context within other words or sounds. The subject may include a human subject, a place, a thing, or any other thing that may be captured in the modifiedmedia asset108.
At theoperation510, one or more of a symbol or a word within the modified media asset may be determined. For example, therecognition logic112 may determine the symbol ortext130, e.g., by way of text-recognition software, and thereby used to recognize, or otherwise determine information related to, the modifiedportion108. For example, a name may appear within the symbol ortext130 that is relevant either to the modifiedportion108 and/or theformer portion107.
At the operation512, at least a portion of the modified media asset is associated with setting content of the modified media asset. For example, therecognition logic112 may analyze the modifiedmedia asset102 to determine that the setting content is such that many of the included subjects may have been modified. For example, if therecognition logic112 recognizes that a setting content of the modifiedmedia asset108 is associated with a crime scene photograph, then it may be likely that images of bystanders may have been anonymized, obscured, replaced, blurred, or otherwise modified. Thus, certain police officers may be visible, while the bystanders are not. At some point, theuser122 may suspect that one of the modified bystanders was, in fact, relevant to an investigation. Thus, therecognition logic112 may recognize the setting content of the modified media asset as a crime scene, and the restoration logic may then restore the former images of the bystanders.
At theoperation514, an attribute of at least the modified portion is evaluated against recognition criteria specifying media asset attributes associated with identifying modified media assets. For example, therecognition logic112 may evaluate the modifiedportion108 against therecognition criteria116, where therecognition criteria116 may include, for example, virtually any of the attributes of the modifiedportion108 that may include any attribute mentioned herein, or other attributes, including size, shape, color, identity, race, gender, physique, an associated capture device or capturing user, a sound, a word (spoken or printed), a symbol, and/or any other attribute. Therecognition criteria116 may involve, for example, any of the various criteria described herein, such as identity information, setting content, image or facial recognition analysis, metadata, and so on, as well as criteria not explicitly mentioned here. Moreover, therecognition criteria116 andrecognition logic112 may interoperate to determine the modifiedportion108 based on any combination of these criteria, as may be determined and configured, for example, by theuser122 by way of the user interface124.
FIG. 6 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 6 illustrates example embodiments where the determiningoperation310 may include at least one additional operation. Additional operations may includeoperation602,operation604, operation606, and/oroperation608.
At theoperation602, a user preference associated with the modified portion is determined. For example, theuser122 may express a preference as to whether the modifiedportion108 should be enabled to be restored, and in what circumstances and to what extent, and this preference(s) may be coded into therecognition criteria116, e.g., again, using the interface124. Theuser122 may represent someone either capturing, transmitting, or reviewing the modifiedmedia asset102, examples of which are described in more detail, herein.
At theoperation604, a preference of a subject of the modified portion is determined. For example, a public or private figure whose image in theformer portion107 has been obscured in the modifiedportion108 may express a desire not to allow some or all users to restore his or her image in the restoredmedia asset106. As discussed above, the subject may be any other element or item within the modifiedportion108, including, for example, a place or a thing. Moreover, the modifiedmedia asset102 includes non-image subjects, such as, for example, spoken words and other sounds, or symbol/text130.
At the operation606, a preference of a user who captured at least a part of the modified media asset may be determined. For example, theuser122 may be a consumer who has captured several family photographs and wishes to distribute them to friends and relatives. For whatever reason and by whatever technique(s), the modifiedportion108 may be obscured or otherwise modified. For example, theuser122 may have modified images of certain persons from theformer media asset101. Upon distribution, theuser122 may wish to reveal or restore the persons, and may specify such to theprocessing system104. In particular, as discussed in more detail below, theuser122 may wish to reveal or restore (or allow to be revealed or restored) only certain portions or attributes of the former portion, in a manner that is dependent upon a recipient or potential recipient of the restoredmedia asset106. Such preferences may be provided to therecognition logic112 for use in determining the modifiedportion108.
At theoperation608, a preference of a producer of the restored media asset may be determined. For example, theuser122 may represent an editor of a newspaper who is reviewing a number of photographs taken by staff photographers, among which the modifiedmedia asset102 may be included. In this case, although the editor may not have capturedformer media asset101, and may not have been associated with modifying theformer media asset101 to obtain the modifiedmedia asset102, he or she may be responsible for producing the restoredmedia asset106 for consumption by an audience of the newspaper. In this case, the editor may determine whether, which, and to what extent modified portion(s)108 are allowed to be restored within the restoredmedia asset106. For example, the editor may determine that the modifiedportion108 was modified incorrectly or improperly, and may wish to restore the modified portion to theformer portion107 as the restoredportion110, using therecognition logic112 and/or therestoration logic114.
FIG. 7 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 7 illustrates example embodiments where the determiningoperation310 may include at least one additional operation. Additional operations may includeoperation702,operation704,operation706,operation708, and/or operation710.
At theoperation702, identity information associated with the modified media asset is determined. For example, therecognition logic112 may determine identity information of a person within the modifiedportion108, which may include, for example, a name, an occupation, an association (e.g., as a spouse, relative, friend, or employer/employee), a race, a gender, a body physique, a height, a hair color or hair style, a style of dress, or any other distinguishing information that identifies the person, and, in some examples, that uniquely identifies the person. Again, such identity information is not limited to persons, and similar techniques may be applied to animals, items, objects, places, landmarks, words (spoken or written), sounds, symbols, and any other type of subject that may appear within the modifiedportion108.
Further, the determination of identity information may be performed with respect to other attributes of the modified media asset than the modifiedportion108 itself. For example, identity information may be determined with respect to concurrent content, e.g., the concurrent image(s)120 or symbol/text130 (spoken or written).
Theoperation702 may optionally include additional operations. For example, at theoperation704, audio information within the modifiedmedia asset102 may be associated with a person. For example, therecognition logic112 may perform voice recognition on an audio stream included in themedia asset102.
At theoperation706, it may be determined that the identity information is associated with an obscuring identity. For example, therecognition logic112 may determine that the determined identity information is associated with an identity that is known to be used for obscuring purposes. Examples of how such identity information may be used by therestoration logic114 to produce the restoredportion110 are described in more detail below, although it may be mentioned here that, by determining identity information as described above, it follows that the restoredportion110 may include or be associated with different, e.g., original or former, identity information. For example, a person associated with the modifiedportion108 may be determined to be someone associated with thesubstitution information119, and therecognition logic112 may thus determine that the modifiedportion108 has, in fact, been modified.
At theoperation708, image information within the modified portion is associated with an image subject. For example, therecognition logic112 may perform image analysis on the modifiedmedia asset102 to determine an image subject, e.g., a person, place, or thing, within an image.
Theoperation708 may include additional operations, such as, for example, the operation710, at which the subject is matched with at least one of a plurality of subjects that have been designated for inclusion in the modified media asset. For example, where the subject includes a person, it may be the case that persons such as movie stars, politicians, professional athletes, or other public figures (or persons with associations thereto, such as spouses or relatives) may have their images and identities modified within the modifiedportion108, perhaps in a predictable or recognizable way, e.g., by replacement with a particular selected image from thesubstitution information119. Similar comments apply to persons with government high security or classified status, or other persons having safety measures associated with promulgation of their image(s). Then, as described in more detail below, persons with appropriate permissions may use theprocessing system104 to restore some or all of the images, or at least attributes of the images, of the former identities/persons.
Again, similar comments apply not just to persons within the modifiedportion108, but to virtually any object that may be imaged or otherwise captured and associated with identity information. For example, the modifiedmedia asset102 may include a physical place, such as a public or private landmark, a building, or a sports arena, and the identity information associated therewith may be determined by therecognition logic112. Similarly, any particular object having identity information, such as, for example, a car or type of car, a work of art, an animal, a computer or computing device, a piece of jewelry or clothing, or any other object, may have identity information associated therewith for determining that the associated image is modified.
FIG. 8 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 8 illustrates example embodiments where the determiningoperation310 may include at least one additional operation. Additional operations may includeoperation802,operation804, and/oroperation806.
At theoperation802, the modified media asset is determined to include one or more of a still image, an imaged element within a video stream, a word within an audio stream, or a sound within an audio stream. For example, therecognition logic112 may determine the modifiedportion108 within the modifiedmedia asset102 that includes an audio-video stream, such as a television program.
At theoperation804, the modified media asset is received at one or more of an image capture device, an image display device, a print device, an audio capture device, or an audio rendering device. For example,FIGS. 2A-2C illustrate the examples of theprint device126a,theimage capture device126b,and thedisplay device210. Of course, thedisplay device210, as referenced above, may include audio capture and/or playback functionality, such as, for example, a PDA or MP3 player. In the above examples, theimage capture device126bmay be any type of, for example, camera, digital camera, web camera (webcam) or video camera, where any of these and others may be disposed within or in association with one or more other devices, such as, for example, a cell phone or personal digital assistant (PDA). In the example of theprint device126a,the modifiedmedia asset102 may be downloaded thereto by way of an external computer, and/or by way of a memory card inserted into (or otherwise connected to) theprint device126a.In this way, for example, theprint device126a,as with thecamera126b,may be used to produce the restoredmedia asset106.
At theoperation806, the modified media asset is received at a central collection facility for collecting media assets. For example, the modifiedmedia asset108 may be received at the processing service208. As a more specific example, the processing service208 may include a facility that receives a number of modified media assets, in which one or more portions may have been modified. The processing service208 may then examine the modified media assets to determine whether any of the modifications were made in error or should otherwise be undone. In such cases, and in other cases, the processing service208 ofFIG. 2C may serve as a clearinghouse for a number of users, who may be employees of a single employer. In another example, the processing service208 may be a commercial enterprise that received media assets from any number of disparate consumers.
FIG. 9 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 9 illustrates example embodiments where the alteringoperation320 may include at least one additional operation. Additional operations may includeoperation902, operation904, operation906, operation908,operation910,operation912, operation914, and/or operation916.
At theoperation902, the modified media asset may be altered based on access information associated with one or more of a former media asset, the modified media asset, or the restored media asset. For example, therestoration logic114 may access therestoration criteria118 to determine that theformer portion107, or certain portions or attributes thereof, may only be included within the restoredportion110 when the restoredmedia asset106 is to be distributed to a certain user or class of users, or in response to a received payment, or based on some other criteria.
Embodiments of theoperation902 may include additional operations. For example, at the operation904, an access preference is determined in association with one or more of a subject of the former media asset, a user responsible for capturing at least a part of the former media asset, or a user associated with distributing one or more of the modified media asset or the restored media asset. For example, therestoration logic114 may access therestoration criteria118 to determine that a human subject of theformer portion107 previously expressed an access preference such that his or her image would be obscured within the modifiedportion108 for all recipients, but that this restriction was recently removed, in whole or in part, so that some or all recipients would be able to receive or obtain the restoredmedia asset106 having the restoredportion110 corresponding to one extent or another to theformer portion107. In another example, where theuser122 captured theformer media asset107 and subsequently modified the modifiedportion108 to obtain the modifiedmedia asset102, then theuser122 may define access information for allowing recipients of the modifiedmedia asset102 to alter the modifiedportion108. Similar comments apply when theuser122 represents a distributor of a plurality of (users') media assets, who may define access preferences for allowing recipients to alter the modified portion (or not).
At the operation906, an attribute of the former portion to be included within the restored media asset is determined, based on the access information. For example, therestoration logic114 may determine from therestoration criteria118 that some attribute of theformer portion107, that may have been modified within the modifiedportion108, should or should not be included within the restoredportion110. Further examples of such attributes are provided in more detail below.
Specifically, embodiments of the operation906 may include additional operations. For example, at the operation908, the attribute to include within the restored media asset may be determined from a group of attributes including one or more of a gender, a race, a hair color, a facial feature, or a body physique. For example, therestoration logic114 may determine from therestoration criteria118 that only one or more of the attributes just mentioned, or others, may be included within the restoredportion110. For example, a recipient that provides more or less payment may be entitled to receive more or less restoration of/access to theformer portion107.
At theoperation910, the attribute to include within the restored media asset is determined from a group of attributes including one or more of a clarity, a color, a contrast, a brightness, a shape, a sound, a sound quality, a size, a contour, an outline, a pattern, an anatomy, a figure, a frame, a form, a glyph, a symbol, or a word. For example, therestoration logic114 may determine from therestoration criteria118 that theformer portion107 includes one or more of the above-mentioned attributes, and may determine whether or to what extent to include any of these attributes within the restoredportion110, based on the access information.
At theoperation912, a request of a requestor of the restored media asset is evaluated against a permission level associated with the requestor. For example, if theuser122 requests the restoredmedia asset106, then therestoration logic114 may determine a permission level associated with theuser122, and may produce the restoredmedia asset106 appropriately, e.g., may determine whether or to what extent to include the above mentioned attributes, or otherwise how to produce the restoredmedia asset106. It should be understood that the requestor may be any number of persons or types of persons, e.g., someone who captured theformer media asset101, someone who modified theformer media asset101 to obtain the modifiedmedia asset102, someone who has received or otherwise has access to the modifiedmedia asset102 and wishes to distribute the modifiedmedia asset102 with various levels of restoration.
At the operation914, a recipient of the restored media asset is evaluated against a permission level associated with the recipient. Here, for example, the recipient may be a user who has not necessarily requested the restoredmedia asset106, but who has nonetheless had the restoredmedia asset106 forwarded or otherwise provided to him or her. Therestoration logic114 may then distribute the restoredmedia asset106 to the various users, with various levels of restoration that depend on the receiving users.
At the operation916, a context display of the restored media asset is evaluated against a permission level associated with the context display. For example, if the processing system is deployed and implemented at a public viewing area(s), then therestoration logic114 may perform restorations based on characteristics of the area(s) that are used to determine the permission levels. For example, movies with adult content (e.g., the former media asset101) that have been modified to remove or obscure the adult content (e.g., thereby to obtain the modified media asset102) may be restored to their original form when the restoredmedia asset106 is to be shown to a group of adults, but may be only partially restored when shown to a group of teenagers, and may not be restored at all when children may be present.
FIG. 10 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 10 illustrates example embodiments where the alteringoperation320 may include at least one additional operation. Additional operations may includeoperation1002,operation1004, operation1006, and/oroperation1008.
At theoperation1002, a modified image within the modified portion may be replaced with at least an attribute of a former image within the former portion. For example, therestoration logic114 may replace a modified image within the modifiedportion108 with at least an attribute of a former image within theformer portion107, where such attribute(s) may include the various attributes mentioned herein, or other attributes.
At theoperation1004, the modified image within the modified portion may be replaced with a replacement image that includes a former image within the former portion as well as enhancements to the former image. For example, therestoration logic114 may determine that the modifiedportion108 includes a modified image of a human subject, in which, for example, an identity or other information about the human subject in theformer portion107 has been obscured (e.g., anonymized). In this case, perhaps based on access information as discussed above, therestoration logic114 may determine that only certain attributes of theformer portion107 may be restored, and that, as part of the restoration process, the human subject imaged in theformer portion107 should be enhanced (e.g., modified to improve an appearance of the human subject by removing wrinkles or other objectionable aspects, or by replacing the image of the human subject with a younger image of the same human subject). Of course, anytime at least a part of theformer portion107 is restored, such enhancements, modifications, or transformations may be made to the part and/or the former portion, including, by way of further example, a desired scaling, rotating, coloring, or substituting.
At the operation1006, the part of the former portion is obtained from a substitutions database that is operable to store an inventory of substituted asset portions. For example, therestoration logic114 may obtain the former portion107 (or part thereof) from thesubstitutions database119.
At theoperation1008, identity information related to a subject of the former portion is revealed by restoring at least a part of an image of the subject from the former portion within the restored media asset. For example, as referenced above, a subject of theformer portion107 may be anonymized or otherwise obscured within the modifiedportion108. For example, an identity of the subject may be undeterminable from the modifiedportion108. Thus, therestoration logic114 may act to restore at least enough information or attributes of theformer portion107 to reveal the identity information of the subject, without necessarily revealing theformer portion107 in its original form.
FIG. 11 illustrates alternative embodiments of the exampleoperational flow300 ofFIG. 3.FIG. 11 illustrates example embodiments where the alteringoperation320 may include at least one additional operation. Additional operations may includeoperation1102,operation1104, operation1106, and/oroperation1108.
At theoperation1102, the modified media asset is altered at one or more of an image capture device, an image display device, a print device, an audio capture device, an audio rendering device, or a remote processing service. For example, the modifiedmedia asset108 may be altered at one or more of theprint device126a,theimage capture device126b,thedisplay device210, or the processing service208.
At theoperation1104, encryption information regarding the modified portion is accessed. For example, therestoration logic114 may access encryption information stored with relation to the modifiedmedia asset108, and make a determination as to whether to provide the encryption information to a particular user who is to receive the restored media asset106 (or whether to otherwise use the encryption information as part of the restoration operation(s)). In another example, the encryption information, or a reference to the encryption information, may be included or referenced within themetadata128, for access by therestoration logic114.
At the operation1106, the encryption information is provided to a user to enable the user to obtain the restored media asset. For example, theuser122 may obtain the encryption information remotely or separately from the operations of theprocessing system104, and may then obtain the benefit of the operations of theprocessing system104 by providing the encryption information (e.g., by providing a password and/or other identifier).
At theoperation1108, the restored media asset is produced as a digital restored media asset. For example, therestoration logic114 may output the restoredmedia asset106 as a digital media asset, e.g., for digital use, storage, transmission, reproduction, or modification by the receivinguser122.
FIG. 12 illustrates a partial view of an exemplarycomputer program product1200 that includes acomputer program1204 for executing a computer process on a computing device. An embodiment of the exemplarycomputer program product1200 is provided using a signal bearing medium1202, and may include at least one of one or more instructions for determining that a modified media asset includes a modified portion that has been modified from a former portion, and one or more instructions for altering the modified media asset to produce a restored media asset in which at least a part of the former portion is restored. The one or more instructions may be, for example, computer executable and/or logic-implemented instructions. In one implementation, the signal-bearing medium1202 may include a computer-readable medium1206. In one implementation, the signal bearing medium1202 may include arecordable medium1208. In one implementation, the signal bearing medium1202 may include acommunications medium1210.
FIG. 13 illustrates anexemplary system1300 in which embodiments may be implemented. Thesystem1300 includes a computing system environment. Thesystem1300 also illustrates theuser122 using auser device1304, which is optionally shown as being in communication with acomputing device1302 by way of anoptional coupling1306. Theoptional coupling1306 may represent a local, wide-area, or peer-to-peer network, or may represent a bus that is internal to a computing device (e.g., in example embodiments in which thecomputing device1302 is contained in whole or in part within the user device1304). Astorage medium1308 may be any computer storage media.
Thecomputing device1302 includes an operability to transmit and/or receive the modifiedmedia asset102 and/or the restoredmedia asset106. Thecomputing device1302 also includes computerexecutable instructions1310 that when executed on thecomputing device1302 causes thecomputing device1302 to determine that a modified media asset includes a modified portion that has been modified from a former portion, and alter the modified media asset to produce a restored media asset in which at least a part of the former portion is restored.
As referenced above and as shown inFIG. 13, in some examples, thecomputing device1302 may optionally be contained in whole or in part within theuser device1304, and may include the image-capture device (camera)126bor theprinter126a.For example, theuser device1304 may include a cell phone, and thecomputing device1302 may be included as part of a digital camera included within the cell phone. In another example embodiment, thecomputing device1302 is operable to communicate with theuser device1304 associated with theuser122 to receive the modifiedmedia asset102 from theuser122 and to provide the restoredmedia asset106 to theuser122.
FIG. 14 illustrates anoperational flow1400 representing example operations by which the user122 (or another user) obtains the restoredmedia asset106 that includes the restoredportion110. Atoperation1410, a user provides a modified media asset to a processing system for recognition of a modified portion within the modified media asset that has been modified from a former portion. For example, theuser122 may provide the modifiedmedia asset102 to theprocessing system104 for recognition of the modifiedportion108 by therecognition logic112. Atoperation1420, a restored media asset is received in which at least a part of the former portion is restored. For example, the restoredmedia asset106 may be received in which the modifiedportion108 has been modified to include the restoredportion110.
Theoperation1410 may include one or more additional operations. For example, theoperation1410 may include an operation1402 in which recognition parameters by which the modified portion may be determined are specified by way of a user interface. For example, theuser122 may set parameters of therecognition logic112 using user interface124.
Also, theoperation1410 may include anoperation1404, in which restoration parameters by which the former portion may be restored may be specified by way of a user interface. For example, theuser122 may specify parameters of therestoration logic114, by way of the user interface124 for restoration of at least a part of theformer portion107.
Theoperation1420 may include one or more operations. For example, theoperation1420 may include anoperation1406, in which the modified media asset is received from one or more of an image capture device, an image display device, an audio capture device, an audio rendering device, a print device, or a remote processing service. For example, theuser122 may receive the restoredmedia asset106 by way of theprint device126a,thecamera126b,the remote processing system208, or thedisplay device210.
Of course, theuser122 may receive the restoredmedia asset106 in other ways. For example, the restoredmedia asset106 may be received as stored on a memory device. For example, the user may capture an audio and/or visual file using an image capture device or by way of downloading from a website or other location. The user may store the resulting digital file on a memory card, memory stick, CD, DVD, or other storage media.
Those having skill in the art will recognize that the state of the art has progressed to the point where there is little distinction left between hardware and software implementations of aspects of systems; the use of hardware or software is generally (but not always, in that in certain contexts the choice between hardware and software can become significant) a design choice representing cost vs. efficiency tradeoffs. Those having skill in the art will appreciate that there are various vehicles by which processes and/or systems and/or other technologies described herein can be effected (e.g., hardware, software, and/or firmware), and that the preferred vehicle will vary with the context in which the processes and/or systems and/or other technologies are deployed. For example, if an implementer determines that speed and accuracy are paramount, the implementer may opt for a mainly hardware and/or firmware vehicle; alternatively, if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware. Hence, there are several possible vehicles by which the processes and/or devices and/or other technologies described herein may be effected, none of which is inherently superior to the other in that any vehicle to be utilized is a choice dependent upon the context in which the vehicle will be deployed and the specific concerns (e.g., speed, flexibility, or predictability) of the implementer, any of which may vary. Those skilled in the art will recognize that optical aspects of implementations will typically employ optically-oriented hardware, software, and or firmware.
The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In one embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure. In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
While particular aspects of the present subject matter described herein have been shown and described, it will be apparent to those skilled in the art that, based upon the teachings herein, changes and modifications may be made without departing from this subject matter described herein and its broader aspects and, therefore, the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this subject matter described herein. Furthermore, it is to be understood that the invention is solely defined by the appended claims. It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to inventions containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should typically be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
The herein described aspects depict different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality. Any two components capable of being so associated can also be viewed as being “operably couplable” to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interactable and/or logically interacting components.
While certain features of the described implementations have been illustrated as disclosed herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the embodiments of the invention.