Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative and intended to be illustrative of the invention and are not to be construed as limiting the invention.
Aiming at the technical problem that the advertising form is single by implanting a patch advertisement in a video, in the embodiment of the invention, each frame of original image of an original video is obtained, then, aiming at each frame of original image, a trained image segmentation model is adopted to identify and obtain an image block segmented according to a presentation object in the original image and a target area to be presented with push information in the image block, then, aiming at each frame of original image, the push information is presented in the target area of the image block according to the image block of the original image to obtain a target image corresponding to the original image, and finally, the required target video is obtained by synthesizing according to the target image corresponding to each frame of original image. In the embodiment, the target video contains the video of the push information, so that when the push information is the advertisement, the advertisement can be intelligently embedded in the video, and the advertisement putting mode can be effectively enriched.
A video generation method, apparatus, and system according to embodiments of the present invention are described below with reference to the accompanying drawings.
Fig. 1 is a schematic flowchart of a first video generation method according to an embodiment of the present invention. The video generation method provided by the embodiment of the invention is configured in a video generation device, and the video generation device can perform data interaction with a video website. The video website refers to a network medium for enabling internet users to smoothly publish, browse and share video works online under the support of a perfect technical platform, and can be a website for example, such as an arcade art website, a Baidu video website and the like.
As shown in fig. 1, the video generation method includes the steps of:
step 101, acquiring each frame of original image of an original video.
In the embodiment of the invention, the original video can be any video on a video website. Specifically, a user can upload a video to a video website, and then the video generation device according to the embodiment of the present invention can acquire a video uploaded by any user from the video website as an original video.
Optionally, the original video is composed of image frames sequentially acquired by a camera in time sequence, or the original video is obtained by a video producer sequentially synthesizing each frame of original image in time sequence, so that each frame of original image of the original video can be acquired after the original video is acquired.
And 102, aiming at each frame of original image, adopting a trained image instance segmentation model to identify and obtain an image block segmented according to a presentation object in the original image and a target area to be presented with push information in the image block.
In the embodiment of the present invention, the push information to be presented is push information that needs to be presented in the target area, for example, the push information to be presented may be an advertisement or other push information, which is not limited to this.
In the embodiment of the invention, the image instance segmentation model can be trained in advance, and the image block segmented according to the presentation object in the image and the target area to be presented with the push information in the image block can be identified through the trained image instance segmentation model.
As one possible implementation, sample images of a plurality of subjects, which are marked with target areas, may be acquired in advance, and then the image instance segmentation model may be trained using the sample images. Therefore, after each frame of original image is obtained, the image block obtained by dividing the original image according to the presentation object and the target area to be presented with the push information in the image block can be identified and obtained by adopting the trained image instance division model, and the operation is simple and easy to realize.
In the sample image, the target region may be adjacent to the imaging region of the object, or the target region may be inside the imaging region of the object, which is not limited in this embodiment of the present invention.
As an example, referring to fig. 2, fig. 2 is a schematic diagram of an original image according to an embodiment of the present invention. In fig. 2, the rendering of the object in the original image includes: red day 21, green mountain 22, flying bird 23, tree 24, truck 25. For the original image, a trained image instance segmentation model is adopted, and a target area to be presented with push information in the original image is identified to be an area 1, and the target area is located in an imaging area of an object truck 25.
And 103, presenting push information in a target area of the image block according to the image block of the original image for each frame of the original image to obtain a target image corresponding to the original image.
In the embodiment of the present invention, after the image block and the target area of each frame of the original image are identified, for each frame of the original image, the push information may be presented in the target area of the image block according to the image block of the original image, so as to obtain the target image corresponding to the original image.
Still by way of example, when it is recognized that the target area in the original image where the push information is to be presented is area 1, the push information may be presented within area 1, for example, when the push information is an advertisement, the advertisement may be presented in area 1.
And 104, synthesizing according to the target images corresponding to the original images of the frames to obtain the required target video.
In the embodiment of the invention, after the target image corresponding to each frame of original image is obtained, the target image corresponding to each frame of original image can be synthesized by utilizing the existing video synthesis technology to obtain the required target video. Because the target video contains the video of the push information, when the push information is the advertisement, the intelligent embedding of the advertisement in the video can be realized, and the advertisement putting mode can be effectively enriched.
The video generation method of this embodiment obtains each frame of original image of an original video, then identifies and obtains an image block obtained by segmentation according to a presented object in the original image and a target area to be presented with push information in the image block by using a trained image segmentation model for each frame of original image, then presents the push information in the target area of the image block according to the image block of the original image for each frame of original image to obtain a target image corresponding to the original image, and finally synthesizes the target image according to the target image corresponding to each frame of original image to obtain a required target video. In this embodiment, contain the video of propelling movement information in the target video to when the propelling movement information is the advertisement, can realize intelligent embedding advertisement in the video, the delivery form of advertisement can be effectively enriched, through implanting the paster advertisement in the video among the solution prior art, the comparatively single problem of advertisement delivery form.
In addition, in the prior art, by directly implanting the patch advertisement in the video, the situation that the implanted advertisement and the video are not lattice-entered may occur, and the display effect of the video is seriously reduced.
Therefore, in the embodiment of the present invention, in order to solve the problem of poor display effect of the video, a shooting angle of view may be identified for an object presented in an image block to which a target area belongs, and then a perspective conversion may be performed on a view presented with push information according to the shooting angle of view. Because the view after perspective conversion and the object presented in the image block to which the target area belongs are in the same view plane, when the target area of the original image is covered by the view after perspective conversion, the view after perspective conversion and the original image can be fused more naturally, and the processing effect of the image is greatly improved. The above process is described in detail below with reference to fig. 3.
Fig. 3 is a flowchart illustrating a second video generation method according to an embodiment of the present invention.
As shown in fig. 3, based on the embodiment shown in fig. 1, step 103 specifically includes the following sub-steps:
step 201, identifying a shooting angle of view for an object represented in an image block to which a target area belongs.
In the embodiment of the invention, the shooting visual angle comprises a shooting height, a shooting direction and a shooting distance; the shooting height comprises a flat shot, a bent shot and a facing shot; the shooting direction comprises a front angle, a side angle, an oblique side angle, a back angle and the like; the shooting distance refers to a distance between the camera and the subject.
Since the view showing the push information may not be in the same view plane as the object shown in the image block to which the target area belongs in the original image, if the target area of the original image is directly covered by the view showing the push information, the image processing effect is not good. Therefore, in the embodiment of the present invention, the shooting angle of view may be identified according to the object presented in the image block to which the target area belongs, so as to trigger the subsequent step of synthesizing the target image.
Step 202, performing perspective conversion on the view presenting the push information according to the shooting angle of view.
Optionally, after the shooting view angle of the object represented in the image block to which the target area belongs is determined, perspective conversion may be performed on the view in which the push information is represented, so that the view after perspective conversion and the object represented in the image block to which the target area belongs are in the same view plane, and further, the processing effect of subsequent images is improved.
And step 203, covering the target area of the original image by using the view after perspective conversion to obtain a target image corresponding to the original image.
In the embodiment of the invention, after the perspective converted view is obtained, the perspective converted view can be used for covering the target area of the original image to obtain the target image corresponding to the original image. Because the view after perspective conversion and the object presented in the image block to which the target area belongs are in the same view plane, when the target area of the original image is covered by the view after perspective conversion, the view after perspective conversion and the original image can be fused more naturally, and the processing effect of the image is greatly improved.
In the video generation method of this embodiment, a shooting angle of view is identified by an object presented in an image block to which a target area belongs, then perspective conversion is performed on a view presenting push information according to the shooting angle of view, and the target area of an original image is covered by the view after the perspective conversion, so as to obtain a target image corresponding to the original image. In this embodiment, after the target area of the original image is covered by the view after perspective conversion, the view after perspective conversion and the original image can be fused more naturally, so that the processing effect of the image is greatly improved, the display effect of the target video is further improved, and the problems that in the prior art, a patch advertisement is directly implanted in a video, the situation that the implanted advertisement and the video are not inserted into a grid can occur, and the display effect of the video is seriously reduced are solved.
To clearly illustrate the previous embodiment, this embodiment provides another video generation method, and fig. 4 is a flowchart illustrating a third video generation method provided by the embodiment of the present invention.
As shown in fig. 4, the video generation method may include the steps of:
step 301, acquiring each frame of original image of the original video.
The execution process of step 301 may participate in the execution process of step 101 in the above embodiments, which is not described herein again.
Step 302, acquiring sample images of a plurality of shot objects; a sample image marked with a target area; wherein the target region is adjacent to or within the imaging region of the subject in the sample image.
In the embodiment of the invention, the shot object can be a scene, a person, a scene and the like.
In the embodiment of the present invention, sample images of a plurality of subjects may be acquired, for example, an image including a plurality of subjects uploaded by a user may be acquired from a network platform as a sample image.
Step 303, training an image example segmentation model by using the sample image.
After the sample image is obtained, the image instance segmentation model can be trained by adopting the sample image, so that after the original image of each frame is obtained, the trained image instance segmentation model can be adopted to identify the target area, and the method is simple to operate and easy to realize.
And 304, aiming at each frame of original image, adopting a trained image instance segmentation model to identify and obtain an image block segmented according to a presentation object in the original image and a target area to be presented with push information in the image block.
The step 304 execution process may participate in the step 102 execution process in the above embodiments, which is not described herein.
Step 305, identifying a shooting angle of view for an object represented in the image block to which the target area belongs.
The execution process of step 305 may participate in the execution process of step 201 in the above embodiments, which is not described herein again.
Step 306, identifying the scene type of the original image.
In the embodiment of the present invention, the scene categories to which different images belong may be the same or different. For example, the scene to which image 1 belongs is a busy shopping mall, the scene to which image 2 belongs is a mountain forest with beautiful scenery, and the scene to which image 3 belongs is a bedroom. Thus, after the original image is obtained, the scene type of the original image can be identified.
As a possible implementation manner, a corresponding relationship between each scene category and each object may be established in advance, so that after the object presented by the original image is determined, the corresponding relationship may be queried, and the scene category corresponding to the object may be obtained as the scene category of the original image.
As another possible implementation manner, an image scene recognition model may be trained in advance, and then, for an original image, a scene category to which the original image belongs may be recognized and obtained by using the trained image scene recognition model; the image scene recognition model is obtained by shooting a plurality of images under each scene type to serve as training samples, labeling the training samples by adopting the corresponding scene types, and training according to the labeled training samples.
Step 307, querying the label of each piece of push information according to the scene type to obtain the push information with the label matched with the scene type.
As a possible implementation manner, a corresponding relationship between each scene type and a tag of the push information may be pre-established, so that after the scene type to which the original image belongs is determined, the corresponding relationship may be queried to obtain the tag of the push information corresponding to the scene type, and then the push information matched with the scene type may be obtained according to the tag.
Specifically, each piece of push information may be clustered in advance, and a tag of each piece of push information is determined according to the clustered push information. For example, when the pushed information is an advertisement, clustering may be performed according to different advertisements, and then a label of the advertisement after clustering is determined, for example, the advertisement of a travel category is clustered, the label of the advertisement of the travel category is a travel, or the label of the advertisement of a skin care category is a skin care advertisement, and the label of the advertisement of a health maintenance category is a health maintenance, etc., which are not listed here.
After the tags of the pieces of push information are determined, the corresponding relation between each scene type and the tags of the pieces of push information can be established, so that after the scene type to which the original image belongs is determined, the corresponding relation can be inquired, the tags of the pieces of push information corresponding to the scene type are obtained, and then the pieces of push information matched with the scene type can be obtained according to the tags.
For example, when a bus is driven in the original video, the bus is driven on a mountain-turning highway with a beautiful landscape, and the push information matched with the scene type can be a tour advertisement.
It should be noted that the same scene category may correspond to one tag, or may correspond to a plurality of tags. For example, when the original video is a bedroom, the pushed information matched with the scene type may be advertisements of household appliances, furniture, decoration, and the like, and therefore, the label corresponding to the scene type of the bedroom may be the household appliances, the furniture, the decoration, and the like.
And 308, carrying out perspective conversion on the view presenting the push information according to the shooting visual angle.
Step 309, covering the target area of the original image with the perspective converted view to obtain a target image corresponding to the original image.
The execution processes of steps 308 to 309 can refer to the execution processes of steps 202 to 203 in the above embodiments, which are not described herein.
And 310, synthesizing according to the target images corresponding to the original images of the frames to obtain the required target video.
The process of step 310 may refer to the process of step 104 in the above embodiments, and is not described herein.
As an example, referring to fig. 2, it is assumed that the push information to be presented is an advertisement. Aiming at an original image, a trained image instance segmentation model is adopted, a target area to be presented with push information in the original image is identified to be an area 1, at the moment, an object corresponding to each scene type can be inquired according to the object presented by the original image, the scene type of the original image is identified to be tourism, and then tourism type advertisements can be presented in the area 1, so that the advertisements presented in the target area are matched with the scene of the original image, the generated target video is more natural, the consumption speed of advertisement flow is improved under the condition that the watching of a user is not influenced, and the delivery cost of advertisers or agents is reduced.
The video generation method of the embodiment includes the steps of obtaining each frame of original image of an original video, identifying an image block obtained by segmentation according to a presented object in the original image and a target area to be presented with push information in the image block by adopting a trained image segmentation model for each frame of original image, identifying a shooting visual angle of an object presented in the image block of the target area, carrying out perspective conversion on a view presenting the push information according to the shooting visual angle, covering the target area of the original image with the view subjected to the perspective conversion to obtain a target image corresponding to the original image, and finally synthesizing the target image according to the target image corresponding to each frame of original image to obtain the required target video. In this embodiment, after the target area of the original image is covered by the perspective-converted view, the perspective-converted view and the original image can be fused more naturally, so that the processing effect of the image is greatly improved, and the display effect of the target video is further improved. In addition, the target video contains the video of the push information, so that when the push information is the advertisement, the intelligent embedding of the advertisement in the video can be realized, and the advertisement delivery form is enriched. Further, in the embodiment, the advertisement presented in the target area is matched with the scene of the original image, so that the generated target video is more natural, the consumption speed of the advertisement flow is increased under the condition that the watching of the user is not influenced, and the delivery cost of an advertiser or an agent is reduced.
In order to implement the above embodiments, the present invention further provides a video generating apparatus.
Fig. 5 is a schematic structural diagram of a video generating apparatus according to an embodiment of the present invention.
As shown in fig. 5, the video generation apparatus 400 includes: an acquisition module 401, an area identification module 402, and a composition module 403. Wherein,
an obtaining module 401, configured to obtain each frame of original image of an original video.
The region identification module 402 is configured to identify, by using a trained image segmentation model, an image block obtained by segmentation according to a presentation object in an original image and a target region to be presented with push information in the image block, for each frame of the original image.
A synthesizing module 403, configured to present, for each frame of original image, push information in a target area of an image block according to the image block of the original image, so as to obtain a target image corresponding to the original image; and synthesizing according to the target images corresponding to the original images of the frames to obtain the required target video.
As a possible implementation manner, the synthesis module 403 is specifically configured to identify a shooting angle of view for an object represented in an image block to which the target area belongs; carrying out perspective conversion on the view presenting the push information according to the shooting visual angle; and covering the target area of the original image by using the view after perspective conversion to obtain a target image corresponding to the original image.
Further, in a possible implementation manner of the embodiment of the present invention, referring to fig. 6, on the basis of the embodiment shown in fig. 5, the video generating apparatus 400 may further include: an acquisition training module 404 and a recognition query module 405.
An acquisition training module 404 for acquiring sample images of a plurality of subjects; a sample image marked with a target area; wherein, in the sample image, the target region is adjacent to the imaging region of the object, or the target region is inside the imaging region of the object; and training an image example segmentation model by using the sample image.
An identifying and querying module 405, configured to identify a scene type to which an original image belongs before performing perspective conversion on a view presenting push information according to a shooting angle of view; and inquiring the label of each piece of push information according to the scene type to obtain the push information of which the label is matched with the scene type.
As a possible implementation manner, the identification query module 405 is specifically configured to query, according to an object presented by the original image, an object corresponding to each scene category, and identify the scene category of the original image.
As another possible implementation manner, the identification query module 405 is specifically configured to identify a scene type to which an original image belongs by using a trained image scene identification model for the original image; the image scene recognition model is obtained by shooting a plurality of images under each scene type to serve as training samples, labeling the training samples by adopting the corresponding scene types, and training according to the labeled training samples.
It should be noted that the foregoing explanation on the embodiment of the video generation method is also applicable to the video generation apparatus 400 of this embodiment, and is not repeated here.
The video generation device of this embodiment obtains each frame of original image of the original video, then identifies and obtains an image block obtained by dividing the original image according to a presented object and a target area to be presented with push information in the image block by using a trained image division model for each frame of original image, then presents the push information in the target area of the image block for each frame of original image according to the image block of the original image to obtain a target image corresponding to the original image, and finally synthesizes the target image according to the target image corresponding to each frame of original image to obtain the required target video. In this embodiment, contain the video of propelling movement information in the target video to when the propelling movement information is the advertisement, can realize intelligent embedding advertisement in the video, the delivery form of advertisement can be effectively enriched, through implanting the paster advertisement in the video among the solution prior art, the comparatively single problem of advertisement delivery form.
In order to implement the above embodiments, the present invention further provides a video generation system.
Fig. 7 is a schematic structural diagram of a video generating apparatus according to an embodiment of the present invention.
As shown in fig. 7, the video generation system includes: offline training node 601, base video analysis node 602, service node 603, and base video analysis node 604. Wherein,
and the offline training node 601 is used for acquiring the trained image segmentation model.
And the base video analysis node 602 is configured to obtain each frame of original image of the original video.
The service node 603 is configured to identify, by using a trained image instance segmentation model, an image block segmented according to a presentation object in an original image and a target area to be presented with push information in the image block, for each frame of the original image; and presenting push information in a target area of the image block according to the image block of the original image so as to obtain a target image corresponding to the original image.
The basic video analysis node 602 is further configured to synthesize a target image corresponding to each frame of the original image to obtain a required target video.
It should be noted that the foregoing explanation on the embodiment of the video generation method is also applicable to the video generation system of the embodiment, and details are not described here.
As an example, referring to fig. 8, fig. 8 is a schematic diagram of a generation process of a target video in an embodiment of the present invention. Fig. 8 takes push information to be presented as an example of an advertisement. The method comprises the steps that a basic video analysis node obtains an original video uploaded by a video producer, obtains each frame of original image of the original video, then obtains a target area to be presented with an advertisement in the original image through service node identification, and generates a target image containing advertisement materials sent by an advertiser in the target area of the original image through the service node. And finally, synthesizing the target image through the basic video analysis node to obtain the target video containing the advertisement material.
The video generation system of this embodiment obtains each frame of original image of the original video, then identifies and obtains an image block obtained by dividing the original image according to a presented object and a target area to be presented with push information in the image block by using a trained image division model for each frame of original image, then presents the push information in the target area of the image block for each frame of original image according to the image block of the original image to obtain a target image corresponding to the original image, and finally synthesizes the target image according to the target image corresponding to each frame of original image to obtain the required target video. In this embodiment, contain the video of propelling movement information in the target video to when the propelling movement information is the advertisement, can realize intelligent embedding advertisement in the video, the delivery form of advertisement can be effectively enriched, through implanting the paster advertisement in the video among the solution prior art, the comparatively single problem of advertisement delivery form.
In order to implement the foregoing embodiment, the present invention further provides a computer device, including: a memory, a processor and a computer program stored on the memory and executable on the processor, which when executed by the processor, implement the video generation method as proposed by the aforementioned embodiments of the present invention.
In order to implement the above embodiments, the present invention also proposes a non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that the program, when executed by a processor, implements the video generation method as proposed by the foregoing embodiments of the present invention.
In order to implement the above embodiments, the present invention further proposes a computer program product, wherein instructions of the computer program product, when executed by a processor, perform the video generation method as proposed by the foregoing embodiments of the present invention.
FIG. 9 illustrates a block diagram of an exemplary computer device suitable for use to implement embodiments of the present application. The computer device 12 shown in fig. 9 is only an example, and should not bring any limitation to the function and the scope of use of the embodiments of the present application.
As shown in FIG. 9, computer device 12 is in the form of a general purpose computing device. The components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. These architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus, to name a few.
Computer device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
Memory 28 may include computer system readable media in the form of volatile Memory, such as Random Access Memory (RAM) 30 and/or cache Memory 32. Computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 9, and commonly referred to as a "hard drive"). Although not shown in FIG. 9, a disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a Compact disk Read Only memory (CD-ROM), a Digital versatile disk Read Only memory (DVD-ROM), or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the application.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally perform the functions and/or methodologies of the embodiments described herein.
The computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with the computer system/server 12, and/or with any devices (e.g., network card, modem, etc.) that enable the computer system/server 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Moreover, computer device 12 may also communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public Network such as the Internet) via Network adapter 20. As shown, network adapter 20 communicates with the other modules of computer device 12 via bus 18. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with computer device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processing unit 16 executes various functional applications and data processing by executing programs stored in the system memory 28, for example, implementing the video generation method mentioned in the foregoing embodiments.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing steps of a custom logic function or process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. If implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, and when the program is executed, the program includes one or a combination of the steps of the method embodiments.
In addition, functional units in the embodiments of the present invention may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may also be stored in a computer readable storage medium.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc. Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention, and that variations, modifications, substitutions and alterations can be made to the above embodiments by those of ordinary skill in the art within the scope of the present invention.