SYSTEM AND METHOD FOR RECREATING A PHYSICAL INSTANT ANALOG PRINT DEVELOPING EXPERIENCE FOR A DIGITAL PHOTO

A system and method for rendering a digital image in order to recreate a physical instant analog print developing experience for the digital image is provided. The method includes, for example, receiving a digital image at a first computing device from a source over a network, the digital image including characteristic(s) (e.g., contrast, saturation, etc.), each characteristic having a received level; detecting whether the digital image is to be gradually rendered over a predetermined time in order to provide a user with a simulated experience of instant analog print developing; and based on the detecting, gradually rendering the digital image on a display associated with the first computing device over the predetermined time, the gradually rendering including increasing a level of the characteristic(s) until the level reaches the corresponding received level.

FIELD OF THE INVENTION

The present invention is directed to a system and method for recreating a physical instant analog print developing experience for a digital photo. The system includes a computing device that utilizes computer executable instructions to perform a specialized image rendering service that displays a digital image by slowly/gradually rendering the digital image such that it becomes fully visible after a predetermined amount of time.

BACKGROUND OF THE INVENTION

Instant photography cameras have been in existence for a number of years. Part of the excitement and magical experience with instant prints, such as the prints from a FUJIFILM INSTAX camera, is being able to watch your analog film print develop right before your eyes. People have also found it fun and entertaining to take digital photos of their fully developed instant prints and then post these to social media sites such as FACEBOOK and INSTAGRAM, or share them with a friend using various messaging services or directly through other sharing services.

Multiple applications exist that enable sharing of digital images, including GOOGLE PHOTOS and many others. Multiple services existing within smart phone operating systems provide the ability for easily posting a digital image to a social media site or sharing a digital image via a text message or other messaging services.

SUMMARY OF THE INVENTION

The instant photo developing experience is only available today with analog film prints. The present invention recreates the experience of watching an instant print develop before a viewer's eyes when sharing digital photos electronically.

In order to provide the experience, the present invention provides a system and method for recreating a physical instant analog print developing experience for a digital photo. The system includes a computing unit or device that utilizes computer executable instructions to perform a specialized image rendering service that displays a digital image by gradually rendering the digital image to become fully visible over a predetermined amount of time.

In one aspect, a system for rendering a digital image is provided. The system comprises a first computing device, comprising a display, a processor, a memory storing computer readable instructions executable by the processor for performing a method. The method comprises receiving a digital image at the first computing device from a source over a network, the digital image comprising one or more characteristics, each of the one or more characteristics having a received level, detecting whether the digital image is to be gradually rendered over a predetermined time in order to provide a user with a simulated experience of instant analog print developing, and based on the detecting, gradually rendering the digital image on the display associated with the first computing device over the predetermined time, the gradually rendering comprising increasing a level of at least one of the one or more characteristics until the level reaches the received level corresponding thereto.

In another aspect, a method programmed in a memory for execution by a processor in a computing environment for rendering a digital image is provided. The method includes receiving a digital image at a first computing device from a source over a network, the digital image comprising one or more characteristics, each of the one or more characteristics having a received level, detecting whether the digital image is to be gradually rendered over a predetermined time in order to provide a user with a simulated experience of instant analog print developing, and based on the detecting, gradually rendering the digital image on a display associated with the first computing device over the predetermined time, the gradually rendering comprising increasing a level of at least one of the one or more characteristics until the level reaches the received level corresponding thereto.

The first computing device may be a server, or the system may further comprise a server in communication with the first computing device, wherein the digital image is communicated to the first computing device over a network.

In still another aspect, a non-transitory program product storing thereon processor-executable instructions for performing a method is provided. The method includes receiving a digital image at a first computing device from a source over a network, the digital image comprising one or more characteristics, each of the one or more characteristics having a received level, detecting whether the digital image is to be gradually rendered over a predetermined time in order to provide a user with a simulated experience of instant analog print developing, and based on the detecting, gradually rendering the digital image on a display associated with the first computing device over the predetermined time, the gradually rendering comprising increasing a level of at least one of the one or more characteristics until the level reaches the received level corresponding thereto.

The digital image may be communicated directly from the second computing device to the first computing device using, for example, a short-range communications protocol, a mobile messaging application or a desktop messaging application. Also, the second computing device may be a server associated with a social media site, and wherein the first computing device receives the digital image after a request to download the digital image is made using the first computing device. In another aspect, the digital image may be gradually rendered on the first computing device in a first instance of the digital image being displayed on the display of the first computing device, and then the digital image may be displayed as instantly fully rendered on the display of the first computing device for subsequent instances of the digital image being downloaded or viewed using the first computing device.

Digital photos which are shared today are typically displayed fully rendered. The present invention is different from conventional photo sharing technologies in that the rendering of a digital photo is intentionally delayed in a manner that emulates an analog instant print developing experience.

Additional benefits of the above-described system and methods for recreating an instant analog print developing experience for digital photos are set forth in the following discussion.

DETAILED DESCRIPTION OF THE INVENTION

As used herein, the term “gradually rendering” and variations thereof, for example, “gradually rendered,” “gradual rendering,” etc., refers to rendering a digital image to simulate an instant analog print developing experience to a user over a predetermined time period. The predetermined time period can be any time period that a user could visually perceive the gradual rendering. The gradual aspect of the rendering can include any pattern, for example, rendering by pixel, by groups of pixels, in a certain direction, areas close to one or more edges of a digital image toward the center, random pixel rendering using various algorithms, etc.

As one skilled in the art will know, “rendering” refers to the process of generating a final digital product from specific input. The output is, as is the case with the present invention, a digital image or raster graphics image file. Many rendering algorithms exist, and the techniques involved typically fall into three categories or techniques. Rasterization, including scanline rendering, geometrically projects objects in the scene to an image plane, without advanced optical effects. Ray Casting considers a scene from a particular point of view, calculating the observed image based only on geometry and, typically, basic optical laws of reflection intensity. Ray Tracing is similar to Ray Casting, but employs more advanced optical simulation and frequently uses Monte Carlo techniques to obtain more realistic results quickly. Additional techniques are also used. However, although the present invention involves rendering images, the particular techniques used to accomplish that are not germane to the invention.

As used herein, the terms “computing unit” and “computing device” refer to any device with a processor or processing circuit and either a memory with code stored therein or a special-purpose electronic circuit, in order to accomplish one or more aspects of the invention. Examples of a computing device include a desktop computer, laptop computer and a smartphone, as generally described with respect toFIG.7.

As used herein, the phrase “instant photography mode” refers to one or more settings of an application, app, etc. that causes gradual rendering, as defined herein, of a digital image.

As used herein, the terms “characteristic” and “characteristics” when used with a digital image refers to visual characteristics of the digital image, for example, balance, brightness, exposure, contrast, highlights/shadows, shading, saturation, tint, temperature, sharpness, pixelization, visual texture, etc. Further, the use of “relative”, in the phrase “relatively low” when used with a characteristic of a digital image, means relative to the received level of that characteristic in the digital image and is less than or equal to a minimum level of that characteristic that is perceptible to an average user, down to no or zero level of that characteristic (necessarily not perceptible). In one example, a “relatively low” level of a characteristic may be about 5% or less of the received level of that characteristic.

Referring to the drawings in detail, with particular reference toFIG.1, an aspect of the present invention includes a system100that may be used to implement methods for recreating an instant analog print developing experience, wherein analog film develops before a user's eyes, in the context of a digital photo. Hence, for example, such an experience does not apply to e.g., 35 mm print developing or single use analog cameras where the prints develop in a lab or similar facility, or otherwise are not developed before a user's eyes. Other aspects of the present invention will be discussed in more detail below.

As best seen inFIG.1, system100may include one or more computing devices, at least some of which are in communication with a network5via a wired connection or a wireless connection. The computing devices in system100that have connections to network5include user computing devices (e.g., first, second, and third computing devices30,50, and60of users1,2, and3, respectively) and at least one server70. Each of user computing devices30,50,60and the server70may include a processor and a memory, which may have various programs, applications, logic, algorithms, instructions, stored therein. As such, the system and methods described herein are not limited to any specific hardware or software configuration, but may rather be implemented as computer executable instructions in any computing or processing environment, including in digital electronic circuitry or in computer hardware, firmware, device driver, or software. For example, user computing devices30,50,60may be mobile computing devices (e.g., smartphones or tablets), portable computers (e.g., laptops), stationary computers (e.g., desktop PCs), or various other similarly configured electronic devices including processors, memories, and network connectivity. One or more of user computing devices30,50,60and/or server70may be programmed with computer executable instructions for recreating an instant analog print developing experience as described herein. Although three user computing devices30,50, and60are shown inFIG.1, it should be understood that this is illustrative only and system100may include any number of user computing devices.

User computing devices30,50,60may be configured to download or otherwise access at least one application40via network5. Among various other features and functions, application40enable users to view digital images25received from remote computing devices using their respective computing devices, as well as provide a specialized digital image rendering method according to example embodiments described herein. Application40may be a mobile application (“App”) or client desktop application, for example, or any other application to which digital images can be transferred. Application40may be stored on and obtained from server70in some example embodiments, or a dedicated App store (e.g., APPLE (mac OS, iOS and/or iPad OS), ANDROID, WINDOWS, etc.) as known in the art. Application40could also be a web-based application that is accessed using a browser, for example. Application40may include messaging applications (e.g., text/SMS, chat, e-mail, etc.), applications associated with social media sites (e.g., FACEBOOK, INSTAGRAM, etc.), online photo sharing services (e.g., GOOGLE PHOTOS, etc.), or any other application which can receive and display a digital image shared by another user using their respective computing device. In the case of messaging applications40, users1,2,3may share digital images25with one or more other users directly by transmitting/receiving them between their respective computing devices30,50,60via network5. In the case of social media applications40, users1,2,3may share digital images25with one or more other users indirectly by posting them to the respective social media site to the user's profile, page, news feed for viewing by other users of the social media sites. In addition, server70may also store digital images25that are communicated from user computing devices via network5. In some example embodiments, user computing devices30,50,60may retrieve digital images25of other users from server70via network5. Accordingly, server70may provide various digital image sharing and storage services, including but not limited to a remote cloud storage service, an online photo sharing service, a messaging service (e.g., text/SMS, email), and/or a social media service, to users1,2,3of computing devices30,50,60. Although one server70is shown inFIG.1, there could be multiple different servers for different applications40, or for performing different functions depending on application type, for example.

In one example, detecting that the digital image is representative of a physical analog print may be accomplished, for example, using image recognition or computer vision via computer readable instructions or, as another example, by detecting metadata associated with the digital image (e.g., an EXIF tag) received, as explained in more detail subsequently. For example, a social media or photo sharing site could allow an image to be “tagged” in the metadata, such that an application, for example, receiving the digital image recognizes the metadata tag to indicate that the digital image is a representation of an analog instant photo, such that the digital image is gradually rendered over a predetermined time.

Computer Vision is a branch of artificial intelligence (AI). More specifically, computer vision is a set of techniques allowing the automation of tasks from an image or video stream. Image recognition is a subset of computer vision. It consists of a set of techniques for detecting, analyzing, and interpreting images to favor decision-making. It works through a neural network trained via an annotated datasheet. The purpose of image recognition is similar to that of computer vision, i.e. to automate the performance of a task. In image recognition, these tasks are varied. For instance, they can be the labeling of an image through tagging, the location of the main object of an image, or guiding an autonomous car. Beyond that is image classification, object detection, segmentation or tagging.

In addition to user computing devices30,50,60and server70, system100may also include other devices for capturing photographs, including but not limited to an instant camera10(e.g., FUJIFILM INSTAX, etc.) and a digital camera20. Instant camera10produces analog instant photographs15(actual physical photos), whereas digital camera20produces digital images25(electronic photos). In some example embodiments, digital camera20is a separate and distinct electronic device from user computing devices30,50,60It should be appreciated that various known means of transferring digital images25from digital camera20to user computing device30, may be used, including but not limited to a wired connection, a wireless connection, a memory card, or a remote server device (e.g., an online cloud storage service or photo sharing service), for example. In other example embodiments, digital camera20may instead be an integrated component of one or more of the user computing devices (including, but not limited to, a smartphone camera or a tablet camera, or a webcam of a laptop computer or desktop PC, for example), such that digital images25captured by digital camera20are stored on the user computing device30and no transfer operation is needed.

In some example embodiments, application40may include, or work in association with, computer executable instructions that include a trigger for performing gradual rendering for recreating an instant analog print developing experience for digital photos, as described in detail below in connection withFIGS.2,3, and4. In one example, gradual rendering can be a service that is accessed, for example, by the application. According to one example embodiment, the trigger in method300ofFIG.3(refer to step S235) is the step of detecting that a digital image being shared is a picture of an analog instant photograph by using image recognition or computer vision software integrated in the computer executable instructions. According to another example embodiment, the trigger in method400ofFIG.4(refer to step S435) is the utilization of an “instant photography” mode built into the application settings. In yet another example, the analog instant print may be converted to digital using any number of known scanning methods and the application can treat the digital conversion as the trigger to treat the digital image as an analog instant photo in terms of development of the digital image over a predetermined time. In one example, the application setting may be user implemented. In another example, the user cannot choose the setting and “instant photography” is implemented as a non-user-configurable feature, for example, via a “share instant print” button or the like. In either case, when the trigger is initiated, the computer executable instructions operate to perform a slow or gradual rendering (hereinafter “gradual rendering”) of the subject digital image to emulate the development of an analog film print from an instant camera. In one example, the application can control whether the gradual rendering is done every time a user views it or, for example, just the first viewing by the user. The gradual rendering of a digital image includes intentionally delaying the rendering of the digital image over a predetermined time so that the digital image slowly progresses on a display of a computing device from an invisible (or barely visible) image to a fully rendered digital image. The methods described herein may include the ability for the user of application40to selectively enable/disable (turn on/off) the gradual rendering using the respective computing device. The methods described herein may include the ability for the user of application40to change the predetermined amount of time over which a digital image is gradually rendered, or to modify the particular manner in which the gradual image rendering process occurs, during operation of the methods described herein, using their respective computing devices.

Next, one example of a method for rendering a digital image to recreate an instant analog print developing experience for digital photos will be described with reference to the flowchart showing method200inFIG.2. Then, two different variations of the example method will be described with reference to the flowcharts showing method300inFIG.3and method400inFIG.4, respectively.

As shown inFIG.2, method200begins with user1taking a photograph using digital camera20at step S210, and then user1uses first computing device30to share the resulting digital image25with user2over network5via application40at step S220.

In some example embodiments, digital image25is a picture of a physical analog instant photograph15, which was produced using instant camera10. Once the resulting analog instant photograph15has developed, user1takes the photograph of the physical analog instant photograph15with digital camera20to produce digital image25. In some other example embodiments, digital image25can be any digital photograph with any content (and is not limited to a digital photo of an analog instant photograph15or other physical photo, specifically). As mentioned above, digital image25may be produced using digital camera20that can be an independent device (image transfer step needed) or an integrated component of user computing devices30,50,60(no image transfer step required).

Method200continues with user2using second computing device50to retrieve digital image25over network5from user1via application40at step S230. Then, at step S240, application40displays digital image25on second computing device50in way that recreates an instant analog print developing experience for user2by gradually rendering digital image25such that digital image25is not fully visible, or has a characteristic of the digital image set to a zero level or a relatively low level, for a predetermined amount of time. The predetermined amount of time corresponds to the time it takes for a physical analog instant photograph to develop (e.g., such as 10 seconds, 20 seconds, 30 seconds, 60 seconds, or 90 seconds, for example), and this value could be a pre-set default value or a user-entered custom value that can be set and changed as desired in the settings of application40so that the image rendering can be slower, faster, more or less gradual.

Additionally, it should be understood that in methods200,300, and400ofFIGS.2,3, and4, digital image25can be shared directly (e.g., transmitted and received using a text/SMS message, a web chat window, an e-mail, an instant direct transfer when computing units are physically close using, for example, a short-range communications protocol, etc.) between user computing devices in the case of a messaging application40, or digital image25may be shared indirectly (e.g., posted to a user's profile, page, or news feed, for example) between user computing devices with transmission to, storage by, and retrieval from server70in the case of a social media application, according to different example embodiments. In either case, one or more user computing devices may have a mobile application40and/or one or more user computing devices may have a desktop application40, depending on the specific type of device each user has.

As shown inFIG.3, method300begins with user1taking a photograph using instant camera10at step S305, and then after a physical analog instant photograph15is fully developed, user1takes a digital photograph of the resulting analog instant photograph15using digital camera20at step S310. Then, user1uses first computing device30to share the resulting digital image25of analog instant photograph15with user2over network5via application40at step S320. In this example embodiment, application40has image recognition software44integrated therein.

Image recognition software44is configured to analyze digital image25and recognize when a digital image25is a picture of a physical analog instant photograph. For example, image recognition software44may detect that the content depicted in the digital image has a certain shape (e.g., square or rectangular), certain outer dimensions (e.g., corresponding to the sizes of typical physical analog instant photos), is surrounded by a border (e.g., a white border around the image in the photo) having a certain width, or combinations thereof. Analog instant photography prints have well-defined borders. The borders do not have to be white. For example, the borders of the instant prints could come with a variety of different colors, designs and/or images. However, the size and shape of the borders are well-defined.

Method300continues with user2using second computing device50to receive digital image25from user1(e.g., user1literally sending the digital image or user2downloading the digital image) over network5via application40at step S330. In this example embodiment, application40is configured to detect whether a digital image being shared is a picture of an analog instant photograph using image recognition software44at step S335. Based on detecting that digital image25is a picture of analog instant photograph15via image recognition software44, at step S340, application40displays digital image25on second computing device50in way that recreates an instant analog print developing experience for user2by gradually rendering digital image25such that analog instant photograph15within digital image25is not fully visible for a predetermined amount of time (see non-limiting example times set forth above, which may be pre-set by default or user-adjustable).

As shown inFIG.4, method400begins with user1obtaining any type of digital image25(from an analog instant photo, a developed (non-instant) photo, or an original digital image) on first computing device30at step S415, and then user1uses first computing device30to share digital image25with user2over network5via application40at step S420. In this example embodiment, digital image25may be produced by any camera and transferred from any source device, and application40is configured to include an “instant photography” mode48built into its settings or otherwise integrated via plug-in software component (also referred to as an add-on or extension), for example. In one example, implementing the gradual rendering may be accomplished by an app/application, for example, a social media application and/or a messaging application. In another example, a developer creates an application plug-in, add-on, extension or API that is made available to the social media application and/or the messaging application, or made available to users (e.g., for downloading) in one or more app/application stores.

Instant photography mode48may be selectively enabled/activated and disabled/deactivated by users1,2,3on their respective computing devices30,50,60. In some example embodiments, the user sharing a digital image via application40can activate instant photography mode48, such that any other users receiving and viewing the digital image of that particular user via application40will experience instant analog print developing of the digital image on their respective computing devices unless any of those other users have instant photography mode48disabled/deactivated or do not have (could prompt to get a plug-in, for example). In some other example embodiments, the user receiving and viewing a digital image via application40can enable/activate instant photography mode, such that this particular user will experience the instant analog print developing of any digital images shared by any other users. In this example embodiment with instant photography mode48, the original image can be any digital photograph or picture obtained from any source device, and the content of digital image25does not have to be a picture of a physical analog instant photograph although it could be such a photo in this example as well.

Method400continues with user2using second computing device50to retrieve digital image25of user1over network5via application40at step S430. In this example embodiment, application40is configured to detect whether at least one of user1or user2has enabled/activated the “instant photography” mode48of application40at step S435. In response to detecting that either user1transmitted digital image25with instant photography mode48of application40enabled/activated on first computing device30, or user2receive digital image25with instant photography mode48of application40enabled/activated on second computing device50, at step S440, application40displays digital image25on second computing device50in a way that recreates an instant analog print developing experience for user2by gradually rendering digital image25such that digital image25is not fully visible for a predetermined amount of time.

For example, the transmitting user (e.g., user1) can select to enable/activate instant photography mode48of application40on first computing device30when sharing digital images25with other users. Additionally or alternatively, the receiving user (e.g., user2) can select to enable/activate instant photography mode48of application40on second computing device50when retrieving or receiving digital images25of other users. Similar steps as described above for user2and second computing device50also apply for a user3and a third computing device60, and any additional user/device pairs as desired or that may be applicable for various different image-sharing scenarios. However, it is also possible that even where user1has enabled/activated instant photography mode48, another user2,3may have disabled/deactivated instant photography mode48on their respective computing device50,60, in which case a normal image rendering process would be performed for the other user when viewing the digital image on their computing device (instead of the specialized slow/gradual image rendering process). This flexibility will allow any given user1,2,3of application40the option to choose whether or not digital images25that users transmit/receive will be slowly/gradually rendered on their respective computing devices30,50,60according to the methods described herein.

According to another aspect of the present invention, in the case where application40is associated with a social media site, and user1shares digital image25with one or more other users2,3by posting it to the social media site using first computing device30, social media application40would exhibit similar behavior as a messaging application40for displaying digital image25using the specialized slow/gradual image rendering service described above for the other users2,3of the social media site on each of the other users computing devices50,60, for the first time that each respective user browses and views that particular digital image25on the social media site via application40. However, once a particular digital image25has been browsed and viewed by a given user on the social media site for the first time, the second time (and each subsequent time) that same user browses and views the same digital image25again, it will be fully rendered as soon as it is displayed on that user's computing device. Therefore, once digital image25is browsed by user2on the social media site using application40and is gradually rendered on second computing device50, that same digital image25will always be displayed to user2fully rendered on second computing device50. Similarly, if that same digital image25is browsed by user3on the social media site using application40and is gradually rendered on third computing device60, that same digital image25will always be displayed to user3fully rendered on third computing device60, and so on for additional users and computing devices accessing the same digital image25on the social media site. Note that this additional example embodiment is similarly applicable in any of the methods200,300, and400described above with reference toFIGS.2,3, and4.

Non-limiting examples of processing a color digital image, illustrating a specialized slow/gradual image rendering process in accordance with one or more aspects of the present invention, will now be described with particular reference toFIGS.5and6.

FIG.5is a modified flow diagram500for processing a color digital image by gradually rendering the same over a predetermined time, in accordance with one or more aspects of the present invention. AlthoughFIG.5shows a color digital image and refers to saturation as the digital image characteristic used to gradually render the digital image, it will be understood that one or more other characteristics (a different characteristic or multiple characteristics together) can be used. Returning toFIG.5, the gradual rendering process510begins with, for example, a processing mask520where no portion of the digital image is viewable by a user. In this example, the processing mask is white, however, it will be understood that it could be some other color (e.g., gray). However, the mask should be opaque initially. The gradual rendering then shows to the user, for example, a series530of changes with regard to the characteristic from an unsaturated state540to a fully saturated state550. In one example, the unsaturated state may be faded with no or relatively low saturation (color). In another example, the unsaturated state may be grayscale. A background bottom layer560, which may be shown, for example, as static to the user throughout the gradual rendering, may take the form of an outer border of the digital image. In another example, the background does not show until the gradual rendering is complete. In still another example, the background bottom layer could gradually be rendered along with the digital image when processing is complete, the final composite image570is seen by the user, including the background layer and the fully saturated digital image. Although the example ofFIG.5uses both a mask and gradual rendering of the digital image in terms of the relevant characteristics, it will be understood that, for example, the mask alone could be used and gradually transition over the predetermined time period from opaque to transparent.

FIG.6is a modified flow diagram600of another example of processing a color digital image by gradually rendering the same over a predetermined time, in accordance with one or more aspects of the present invention.FIG.6is similar toFIG.5in terms of gradually rendering the digital image via color, but includes example transitions610for the mask layer and an example timeline620. The mask layer, in one example, may transition from a solid color (e.g., dark gray)630to a lighter solid color640(e.g., tan) and finally to clear/transparent650, such that the digital image is seen and the mask layer is no longer viewable. As withFIG.5, the gradual rendering of the digital image may transition from an unsaturated or relatively low saturation state660to a fully saturated state670over a predetermined time, for example, 10 seconds as shown using timeline620. The final image680includes the fully saturated digital image670and the background border690.

FIG.7is a modified flow diagram700of an example of gradually rendering over a predetermined time with the characteristic being contrast, in accordance with one or more aspects of the present invention.FIG.7is similar to the flow inFIG.6in terms of gradually rendering based on a characteristic of a photograph, except the example characteristic used is contrast rather than color.FIG.7includes an example mask layer750and an example timeline720. The mask layer in one example may transition from opaque (e.g., white) to transparent, such that the digital image is seen with more contrast. The digital image gradual rendering in this example transitions from a relative low (relative to the received image) or no contrast state760to a full contrast state770over a predetermined time, for example ten seconds as shown in the timeline720. The final, full-contrast image780includes full-contrast image770and the background790. In the present example, the background remains white or just an outline throughout the gradual transition. However, as noted previously, the background could be for ex, a different color, design, etc.

According to other aspects of the present invention, several variations of the rendering service described above with reference to methods200,300, and400ofFIGS.2,3, and4(refer to steps S240, S340, and S440) will be described next.

In a first variation of the rendering service, at step(s) S240, S340, and/or S440, only an image that is displayed in the physical analog instant photograph15(i.e., the actual picture content itself) within digital image25is gradually rendered to recreate the instant analog print developing experience, while the surrounding areas of the image (e.g., a white square or rectangular shaped border, and/or anything outside of that border that may have been captured in digital image25of analog instant photograph15) are fully rendered as soon as digital image25is displayed on second computing device50(or third computing device60).

In a second variation of the rendering service, at step(s) S240, S340, and/or S440, the entire image displayed in digital image25is gradually rendered, including the actual content of the picture as well as any surrounding areas captured in the digital image, such as in the case of a border around the perimeter of the image when digital image25is a picture of a physical analog instant photograph15.

In a third variation of the rendering service, at step(s) S240, S340, and/or S440, the entire digital image25slowly/gradually appears relatively evenly or uniformly or consistently throughout the image, with increasing clarity and detail, until the fully developed image is present. In a fourth variation of the rendering service, at step(s) S240, S340, and/or S440, digital image25is slowly/gradually rendered in a “top-down” manner, such that a fully developed image starts appearing from the top of digital image25and continues down to the bottom of digital image25(rather than with increasing detail in a relatively even/uniform/consistent manner across the entire image) over the predetermined amount of time. Similarly, in additional modifications of the fourth variation of the rendering service, the slow/gradual image rendering process could be performed in a “bottom-up” manner (fully developing starting from the bottom of the image and ending at the top of the image) or other like manner where different portions of the digital image develop in sequence or at different rates, such as left-to-right, right-to-left, inside-out, outside-in, corner-to-corner, etc. The particular manner in which the specialized slow/gradual rendering process occurs may be pre-set by default, may vary randomly among available options (e.g., to create additional interest in how images are revealed when shared and viewed by users), may be user-selected according to their own preferences from among the available options, etc. in various different example embodiments.

In yet further variations, the slow/gradual image rendering process that occurs during the predetermined amount of time may transition from darker to lighter, blurry to focused, black/white to color, or may reveal pixel patterns forming different shapes or designs as the digital image is being displayed, or may utilize various other possible computer-implemented image rendering techniques designed to accurately replicate the instant analog print developing experience that occurs while physical analog instant photos are developing.

In a first aspect, the present invention provides a system for rendering a digital image. The system includes a first computing device, including a method programmed in a memory for execution by a processor in a computing environment for rendering a digital image. The method includes receiving a digital image at the first computing device from a source over a network, the digital image including one or more characteristics, each of the characteristics having a received level. The method further includes detecting whether the digital image is to be gradually rendered over a predetermined time in order to provide a user with a simulated experience of instant analog print developing. Based on the detecting, the method includes gradually rendering the digital image on a display associated with the first computing device over the predetermined time, the gradually rendering including increasing a level of the characteristic(s) until the level reaches the received level corresponding thereto.

In one example, the method performed by the system includes the source including a second computing device and the receiving includes directly receiving, by the first computing device, the digital image from the second computing device. In another example, the directly receiving includes the first computing device and the second computing device using a messaging application. In a further example, the directly receiving includes using a short range communications protocol.

In one example, the method performed by the system includes the source including a server associated with a social media site and the first computing device receives the digital image after a request to download the digital image is made using the first computing device.

In another example, the method performed by the system includes the source including a server associated with a photo sharing site and the first computing device receives the digital image after a request to download the digital image is made using the first computing device.

In still another example, the method performed by the system includes the digital image being an image of a physical analog instant print, the physical analog instant print including a picture portion and an outer border portion surrounding the picture portion. In one example, the gradually rendering includes gradually rendering the picture portion over the predetermined time, the method further including rendering the outer border portion normally. In another example, the gradually rendering includes gradually rendering the picture portion and the outer border portion over the predetermined time. In yet another example, the detecting may be performed by computer executable code configured for image recognition.

In one example, the method performed by the system includes the source including a second computing device sending the digital image to the first computing device over the network using an application, the application including an instant photography mode in one or more settings of the application.

In one example, the gradually rendering includes gradually rendering a masking layer over the digital image, the masking layer being initially opaque such that the digital image cannot be seen by the user; and decreasing opacity of the masking layer over the predetermined time until the masking layer is transparent. In another example, the source includes a second computing device and the receiving includes directly receiving, by the first computing device, the digital image from the second computing device. In a further example, the directly receiving includes the first computing device and the second computing device using a messaging application.

In one example, the digital image includes a color digital image, the one or more characteristics includes saturation and the gradually rendering includes initially rendering the color digital image as unsaturated or having relatively low saturation; and gradually increasing the saturation over the predetermined time until the saturation reaches the received level of saturation of the color digital image.

In one example, the digital image lacks color (e.g., gray scale or black and white), the one or more characteristics includes contrast, the predetermined time includes a first predetermined time and a second predetermined time and the gradually rendering includes initially rendering the digital image with a relatively low contrast or with no contrast over the first predetermined time; and gradually increasing the contrast over the second period of time until the contrast of the digital image reaches a corresponding received level of contrast.

In one example, a digital image of the method performed by the system is associated with metadata, the metadata including a tag. In addition, the detecting includes recognizing the tag, the tag indicating that the digital image is a representation of an analog instant photo.

In a second aspect, the present invention provides a method programmed in a memory for execution by a processor in a computing environment for rendering a digital image. The computing environment includes a first computing device and the method includes receiving a digital image at the first computing device from a source over a network. The digital image includes one or more characteristics, each of the one or more characteristics having a received level. The method further includes detecting whether the digital image is to be gradually rendered over a predetermined time in order to provide a user with a simulated experience of instant analog print developing; and, based on the detecting, gradually rendering the digital image on a display associated with the first computing device over the predetermined time, the gradually rendering including increasing a level of at least one of the characteristic(s) until the level reaches the received level corresponding thereto.

In one example, the source of the method includes a second computing device and the receiving includes directly receiving, by the first computing device, the digital image from the second computing device. In one example, the directly receiving, by the first computing device, includes the first computing device and the second computing device using a messaging application. In another example, the directly receiving includes using a short range communications protocol.

In one example, the source of the method includes a server associated with a social media site and the first computing device receiving the digital image after a request to download the digital image is made using the first computing device.

In one example, the source of the method includes a server associated with a photo sharing site and the first computing device receives the digital image after a request to download the digital image is made using the first computing device.

In an example, the predetermined time of the method aspect includes a first predetermined time and a second predetermined time that the digital image is an image of a physical analog instant photo the physical analog instant photo including a picture portion and an outer border portion surrounding the picture portion. In one example, the gradually rendering includes gradually rendering the picture portion and rendering the outer border portion normally. In another example, the gradually rendering includes gradually rendering the picture portion and the outer border portion. In a further example, the detecting may be performed using by computer executable code configured for image recognition.

In one example, the method aspect includes the source including a second computing device sending the digital image to the first computing device over the network using an application, the application including an instant photography mode in one or more settings of the application.

In one example, the gradually rendering of the method aspect includes rendering a masking layer over the digital image, the masking layer being rendered as initially opaque such that the digital image cannot be seen by the user; and gradually decreasing opacity of the masking layer over the predetermined time until the masking layer is transparent.

In another example, the source of the method aspect includes a second computing device and wherein the receiving comprises directly receiving, by the first computing device, the digital image from the second computing device.

In yet another example, the directly receiving of the method aspect includes the first computing device and the second computing device using a messaging application.

In a further example, the digital image of the method aspect includes a color digital image, the one or more characteristics includes saturation and the gradually rendering includes initially rendering the color digital image as unsaturated or with relatively low saturation; and gradually increasing the saturation over the predetermined time until the saturation reaches the received level of saturation of the color digital image.

In another example, the predetermined time of the method aspect includes a first predetermined time and a second predetermined time and the digital image lacks color (e.g., gray scale or black and white), the one or more characteristics including contrast and the gradually rendering includes initially rendering the digital image with no contrast or with relatively low contrast over the predetermined first time; and gradually increasing the contrast over the second period of time until the contrast of the digital image reaches the received level of contrast.

In one example, the digital image of the method aspect is associated with metadata, the metadata including a tag. The detecting includes recognizing the tag, the tag indicating that the digital image is a representation of an analog instant photo.

In a third aspect, the present invention provides a non-transitory program product storing thereon processor-executable instructions for performing a method. The method includes receiving a digital image at a first computing device from a source over a network, the digital image including one or more characteristics, each of the one or more characteristics having a received level. The method of the program product also includes detecting whether the digital image is to be gradually rendered over a predetermined time in order to provide a user with a simulated experience of instant analog print developing. Based on the detecting, the digital image is gradually rendered on a display associated with the first computing device over the predetermined time, the gradually rendering including increasing a level of at least one of the one or more characteristics until the level reaches the received level corresponding thereto.

In one example, the method of the program product aspect includes the source including a second computing device and the receiving including directly receiving, by the first computing device, the digital image from the second computing device. In one example, the directly receiving includes the first computing device and the second computing device using a messaging application. In another example, the directly receiving includes using a short range communications protocol.

In another example, the method of the program product aspect includes the source including a server associated with a social media site and the first computing device receiving the digital image after a request to download the digital image is made using the first computing device.

In still another example, the method of the program product aspect includes the source including a server associated with a photo sharing site and the first computing device receiving the digital image after a request to download the digital image is made using the first computing device.

In a further example, the method of the program product aspect includes the digital image being an image of a physical analog instant print, the physical analog instant print including a picture portion and an outer border portion surrounding the picture portion. In one example, the gradually rendering includes gradually rendering the picture portion over the predetermined time and rendering the outer border portion normally. In another example, the gradually rendering includes gradually rendering the picture portion and the outer border portion over the predetermined time. In still another example, the detecting is performed by computer executable code configured for image recognition.

In one example, the method of the program product aspect includes the source including a second computing device sending the digital image to the first computing device over the network using an application, the application including an instant photography mode in one or more settings thereof.

In one example, the method of the program product aspect includes the gradually rendering including rendering a masking layer over the digital image, the masking layer being initially opaque such that the digital image cannot be seen by the user, and decreasing opacity of the masking layer over the predetermined time until the masking layer is transparent. In another example, the source includes a second computing device and the receiving includes directly receiving, by the first computing device, the digital image from the second computing device. In still another example, the directly receiving includes the first computing device and the second computing device using a messaging application.

In one example, the digital image of the method of the program product aspect includes a color digital image, the one or more characteristics includes saturation and the gradually rendering includes initially rendering the color digital image as unsaturated or with relatively low saturation; and gradually increasing the saturation over the predetermined time until the saturation reaches the received level of saturation for the color digital image.

In another example, the digital image of the method of the program product aspect lacks color (i.e. gray scale or black and white), the one or more characteristics includes contrast and the gradually rendering includes initially rendering the digital image with no contrast or relatively low contrast and gradually increasing the contrast over the predetermined time until the contrast of the digital image reaches the received level of contrast.

In one example, the digital image of the method of the program product aspect is associated with metadata, the metadata including a tag. The detecting includes recognizing the tag, the tag indicating that the digital image is a representation of an analog instant photo.

Having described embodiments of system100and corresponding methods200,300, and400for implementing the specialized slow/gradual digital image rendering processes set forth above among other features, an example of a computer environment for implementing the described design and execution is presented next.

FIG.8shows the components of one example of a computing environment800that may be used to implement any of the methods and processing thus far described. The following description of computers also applies to the various user computing devices30,50,60and the server70for implementing system100and methods200,300, and400as described above with reference toFIGS.2,3, and4. Computing environment800may include one or more computers812comprising a system bus824that couples a video interface826, network interface828, a keyboard/mouse interface834, and a system memory836to a Central Processing Unit (CPU)838. A monitor or display840is connected to bus824by video interface826and provides the user with a graphical user interface to view the digital images25as described above. The graphical user interface allows the user to enter commands and information into computer812using an interface control that may include a keyboard841and a user interface selection device843, such as a mouse, touch screen, or other pointing device. Keyboard841and user interface selection device are connected to bus824through keyboard/mouse interface834. The display840and user interface selection device843are used in combination to form the graphical user interface which allows the user to implement at least a portion of the present invention. Other peripheral devices may be connected to the remote computer through universal serial bus (USB) drives845to transfer information to and from computer812. For example, cameras and camcorders may be connected to computer812through serial port832or USB drives845so that data representative of a digitally represented still image, video, audio or other digital content may be downloaded to memory836or another memory storage device associated with computer812such that the digital content may be transmitted to a server (such as server70ofFIG.1) in accordance with the present invention.

The system memory836is also connected to bus824and may include read only memory (ROM), random access memory (RAM), an operating system844, a basic input/output system (BIOS)846, application programs848and program data850. The computer812may further include a hard disk drive852for reading from and writing to a hard disk, a magnetic disk drive854for reading from and writing to a removable magnetic disk (e.g., floppy disk), and an optical disk drive856for reading from and writing to a removable optical disk (e.g., CD ROM or other optical media). The computer812may also include USB drives845and other types of drives for reading from and writing to flash memory devices (e.g., compact flash, memory stick/PRO and DUO, SD card, multimedia card, smart media xD card), and a scanner858for scanning items such as still image photographs to be downloaded to computer512. A hard disk drive interface852a, magnetic disk drive interface854a, an optical drive interface856a, a USB drive interface845a, and a scanner interface858aoperate to connect bus824to hard disk drive852, magnetic disk drive854, optical disk drive856, USB drive845and scanner858, respectively. Each of these drive components and their associated computer-readable media may provide computer812with non-volatile storage of computer-readable instruction, program modules, data structures, application programs, an operating system, and other data for computer812. In addition, it will be understood that computer812may also utilize other types of computer-readable media in addition to those types set forth herein, such as digital video disks, random access memory, read only memory, other types of flash memory cards, magnetic cassettes, and the like.

Computer812may operate in a networked environment using logical connections with network5,802. Network interface828provides a communication path860between bus824and network802, which allows, for example, digital images25and other information to be communicated to a server or database for storage and allowing access to other users. The digital images25and other information may also be communicated from bus824through a communication path862to network802using serial port832and a modem864. It will be appreciated that the network connections shown herein are merely examples, and it is within the scope of the present invention to use other types of network connections between computer812and network5,802including both wired and wireless connections.

The constructions described above and illustrated in the drawings are presented by way of example only and are not intended to limit the concepts and principles of the present invention. As used herein, the terms “having” and/or “including” and other terms of inclusion are terms indicative of inclusion rather than requirements.

While the invention has been described with reference to preferred embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof to adapt to particular situations without departing from the scope of the invention. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope and spirit of the appended claims.