Disclosure of Invention
One technical problem to be solved by the embodiments of the present application is: the method and the device for rapidly playing the non-standard code stream can solve the problem that a user has long waiting time when audio and video data are lacked in a channel PMT.
According to an aspect of the embodiments of the present application, a method for fast playing a non-standard code stream is provided, where a flag bit group is provided, where the flag bit group includes a video flag bit and an audio flag bit, and is used to mark video data and audio data carried by a target channel respectively, and the method includes:
analyzing a program map table PMT of the target channel to obtain an analysis result;
obtaining a playing flag bit group according to the analysis result and the flag bit group;
and playing the content of the target channel according to the playing flag bit group.
Optionally, in another embodiment based on the foregoing method of the present application, obtaining the play flag bit group by the following method specifically includes:
when the PMT does not contain video data, adding a non-video data identifier in the video flag bit; and/or the presence of a gas in the gas,
and when the PMT does not contain audio data, adding a no-audio-data identifier in the audio flag bit.
Optionally, in another embodiment based on the foregoing method of the present application, the playing the content of the target channel according to the playing flag group includes:
when the fact that no video data identification exists in the playing flag bit group and no audio data identification exists is detected, the video data and the audio data are sent to a player;
and playing the video data content and the audio data content of the target channel.
Optionally, in another embodiment based on the foregoing method of the present application, obtaining the play flag bit group by the following method specifically includes:
when the PMT contains video data, adding a video data identifier in the video flag bit; and/or the presence of a gas in the gas,
and when the PMT contains audio data, adding an audio data identifier in the audio flag bit.
Optionally, in another embodiment based on the foregoing method of the present application, the playing the content of the target channel according to the playing flag group includes:
when detecting that the playing flag bit group has an audio data identifier, sending the audio data to a player and playing the audio data content of the target channel; and/or the presence of a gas in the gas,
and when the playing flag bit group is detected to have the video data identification, sending the video data to a player and playing the video data content of the target channel.
Optionally, in another embodiment based on the foregoing method of the present application, before the playing the content of the target channel according to the playing flag bit group, the method further includes:
when detecting that the playing flag bit group only has the video data-free identifier, sending a notification that the target channel is a channel only capable of playing audio data content to a user; or the like, or, alternatively,
when detecting that the playing flag bit group only has the audio data-free identifier, sending a notification that the target channel is a channel only capable of playing video data content to a user; or the like, or, alternatively,
and when the playing flag bit group has the video data identification and the audio data identification, sending a notice that the target channel content cannot be played to a user.
Optionally, in another embodiment based on the foregoing method of the present application, before the playing the content of the target channel according to the playing flag group, the method further includes:
when detecting that the playing flag bit group label only has an audio data identifier, sending a notification that the target channel is a channel only capable of playing audio data content to a user; or the like, or, alternatively,
when detecting that the playing flag bit group label only has a video data identifier, sending a notification that the target channel is a channel only capable of playing video data content to a user; or the like, or, alternatively,
and when the video data identification does not exist in the playing flag bit group and the audio data identification does not exist in the playing flag bit group, sending a notice that the target channel content cannot be played to a user.
Optionally, in another embodiment based on the foregoing method of the present application, obtaining a play flag group according to the parsing result and the flag group includes:
when the PMT is judged to contain video data and audio data according to the analysis result, setting the flag bit group as the playing flag bit group;
when the fact that no video data identification exists in the playing flag bit group and no audio data identification exists is detected, the video data and the audio data are sent to a player;
and playing the video data content and the audio data content of the target channel.
Optionally, in another embodiment based on the foregoing method of the present application, before the playing the content of the target channel according to the playing flag bit group, the method further includes:
and when the current audio and video content is detected to be played, stopping playing the current audio and video content.
According to another aspect of the embodiments of the present application, there is provided a fast playing apparatus for nonstandard code streams, which is applied to a system provided with a flag bit group, where the flag bit group includes a video flag bit and an audio flag bit, the apparatus including:
a processor; and a memory for storing processor-executable instructions;
wherein the processor is configured to perform the method of any one of claims 1-9.
According to the technical scheme, the corresponding identification is added to the preset flag bit group according to the audio and video data content carried by the target channel so as to generate the playing flag bit group, and the target channel content is played according to the playing flag bit group, so that the defect that the target channel content can be played only by a user waiting for a long time when the target channel lacks audio and video data in the prior art can be avoided.
The technical solution of the present application is further described in detail by the accompanying drawings and examples.
Detailed Description
Various exemplary embodiments of the present application will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions, and numerical values set forth in these embodiments do not limit the scope of the present application unless specifically stated otherwise.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the application, its application, or uses.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
Embodiments of the present application may be implemented in electronic devices such as terminal devices, computer systems, servers, etc., which are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known terminal devices, computing systems, environments, and/or configurations that may be suitable for use with electronic devices, such as terminal devices, computer systems, servers, and the like, include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, hand-held or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, networked personal computers, minicomputer systems, mainframe computer systems, distributed cloud computing environments that include any of the above, and the like.
Electronic devices such as terminal devices, computer systems, servers, etc. may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The computer system/server may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
A method for performing data processing according to an exemplary embodiment of the present application is described below with reference to fig. 1 to 3. It should be noted that the above application scenarios are only presented to facilitate understanding of the spirit and principles of the present application, and the embodiments of the present application are not limited in this respect. Rather, embodiments of the present application may be applied to any scenario where applicable. The method and the device are applied to the cluster user equipment, such as a background server, a recommendation server and the like.
Fig. 1 schematically shows a flow chart of a fast playing method of a non-standard code stream according to an embodiment of the present application. As shown in fig. 1, the method includes:
a fast playing method of non-standard code stream is characterized in that a flag bit group is provided, the flag bit group comprises a video flag bit and an audio flag bit, and is used for respectively marking video data and audio data carried by a target channel, the method comprises the following steps:
s101, analyzing a program map table PMT of the target channel to obtain an analysis result.
Specifically, in the prior art, when a user searches a certain DTV channel without Video data or Audio data, the player cannot perform AV synchronization (Audio & Video SYNC) because the player does not receive the Video data and the Audio data of the channel at the same time, and the content of the channel cannot be played or is delayed. To solve this problem, the present application first sets a flag bit group in advance in a playback device. The flag bit groups may be a video flag bit and an audio flag bit, where it should be noted that the video flag bit may be used to mark data of the channel video information, and the audio flag bit may be used to mark data of the channel audio information. It should be further noted that the video flag bit and the audio flag bit in the flag bit group in the present application are not limited to only include data for marking the video information and the audio information of the channel, that is, the video flag bit and the audio flag bit in the present application may also include data for marking other related information of the channel, such as program number data information, geographical location data information, and the like. This is not repeated herein.
Further, when the user searches for the target channel, an instruction to stop playing the picture and sound of the current channel is issued first. Then, a PMT (Program Map Table service mapping Table) of the target channel is analyzed, wherein all information contained in the channel, such as video data, audio data, padding data, PSI/SI Table data, and PIDs corresponding to each data type, can be obtained by analyzing the PMT of the channel.
And S102, obtaining a playing flag bit group according to the analysis result and the flag bit group.
Specifically, after the PMT of the target channel is analyzed, whether the PMT of the channel includes information of video data and audio data is determined according to the analysis result. And selecting whether to add corresponding identification to the flag bit group according to the information of video data and audio data contained in the PMT of the channel, thereby obtaining corresponding different playing flag bit groups.
S103, playing the content of the target channel according to the playing flag bit group.
Specifically, according to the identification information carried by the playing flag bit group, the video data content and the audio data content of the target channel are played.
According to the technical scheme, the corresponding identification is added to the preset flag bit group according to the audio and video data content carried by the target channel so as to generate the playing flag bit group, and the target channel content is played according to the playing flag bit group, so that the defect that the target channel content can be played only by a user waiting for a long time when the target channel lacks audio and video data in the prior art can be avoided.
As one embodiment of the present application, in S102 (adding a corresponding identifier to the flag group according to the parsing result to obtain a playing flag group), the manner of adding a corresponding identifier to the flag group according to the parsing result may include, but is not limited to, any one of the following two manners:
the first mode is as follows:
specifically, after the PMT of the target channel is completely analyzed, whether the PMT of the channel includes video data and audio data is determined according to the analysis result. And adding corresponding identification to the video flag bit in the flag bit group and/or adding corresponding identification to the audio flag bit under the condition that the PMT of the channel contains at least one of audio and video data, and further, the flag bit group added with the corresponding identification is the playing flag bit group.
In the first way of adding corresponding identifiers to the flag groups to obtain the playing flag groups, the following situations can be classified:
in the first case:
when the PMT of the target channel does not contain video data but contains audio data, a no video data flag is added to the video flag in the flag group. Specifically, after the PMT of the target channel is completely analyzed, it may be detected whether data information does not exist in Vi deoL i st (video listing directory) acquired by the PMT and whether data information exists in Aud i oL i st (audio listing directory) acquired by the PMT, and if so, the PMT is considered to not contain video data but contain audio data, and a non-video data identifier is added to a video flag bit in the flag bit group to obtain a corresponding play flag bit group.
In the second case:
when the PMT of the target channel does not contain audio data but contains video data, a no-audio-data flag is added to the audio flag in the flag group. Specifically, after the PMT of the target channel is analyzed, whether data information does not exist in Aud i oL i st acquired by the PMT and whether data information exists in Vi deoL i st acquired by the PMT is detected, if so, the PMT is considered to contain no audio data but video data, and a no-audio-data identifier is added to an audio flag bit in the flag bit group to obtain a corresponding play flag bit group.
In the third case:
similarly, when the above steps are applied to confirm that the PMT of the target channel does not contain audio data or video data, an audio-free data identifier is added to the audio flag bit in the flag bit group and a video-free data identifier is added to the video flag bit in the flag bit group, and a corresponding play flag bit group is obtained.
It should be noted that, in a specific application scenario, the application may separately execute one of the three corresponding operations mentioned in the first manner according to the number of types of audio/video data carried in the PMT of the target channel. How to perform the operations corresponding to the above situations does not affect the scope of the present application.
Further optionally, after the corresponding identifier is added to the flag group according to the audio data information and the video data information in the PMT of the target channel and the playing flag group is obtained, the playing flag group may be sent to a middleware layer of the playing apparatus through an RPC (Remote Procedure call protocol), and the middleware layer detects the identifier information carried in the playing flag group.
Further, in the case of the three cases mentioned in the first mode, in S103 (playing the content of the target channel according to the playing flag group) in the present application, in the specific operation step of playing the content of the target channel according to the playing flag group, the following processing may be performed respectively in correspondence to the three cases in the first mode:
corresponding to the first case in the first mode:
when detecting that only no video data identification exists in the playing flag group, setting the current video playing state as a continuous playing prohibition state, and then sending the audio data in the channel PMT to the player. And after the middleware layer determines that the current video playing state is the continuous playing prohibition state, the instruction of stopping playing the sound is released, and the sound data content of the channel is played. It should be noted that, before the audio data content of the channel is played, a notification that the target channel is a channel capable of playing only the audio data content may be sent to the user.
Corresponding to the second case in the first mode:
when detecting that only no audio data identification exists in the playing flag group, setting the current audio playing state as a continuous forbidden playing state, and then sending the video data in the channel PMT to the player. And after the middleware layer determines that the current audio playing state is the continuous playing prohibition state, the instruction of stopping playing the video is released, and then the sound data content of the audio is played. It should be noted that, before playing the video data content of the channel, a notification that the target channel is a channel capable of playing only the video data content may also be sent to the user.
Corresponding to the third case of the first mode:
when the fact that no audio data identification and no video data identification exist in the playing flag bit group is detected, the channel is judged to be a channel without video data content and audio data content, then a notice that the target channel content cannot be played is sent to a user, and no processing is performed on the channel.
It should be noted that, before playing the video data content or the audio data content of the target channel according to the three situations, it may be further detected whether there is currently audio/video content being played, such as a startup animation, a remote video recording picture, USB video content, and the like, and if it is detected that there is currently audio/video content being played, it may be selected to stop playing the current audio/video content first, and start playing the content of the target channel after the preset time for stopping playing the current audio/video content. Further, when the audio and video content which is being played is detected to exist currently, whether the playing of the current audio and video content needs to be stopped first or not can be selected according to the category of the currently played audio and video content and the data content of the target channel, and the content of the target channel starts to be played after the preset time for stopping playing the current audio and video content. For example, when only audio data content exists in the target channel, it is detected that the power-on screen is currently being played before the audio data content of the target channel is played. At this time, the playing of the startup picture is terminated, and after the preset time for terminating the playing of the startup picture, the audio data content of the target channel is played. Therefore, the user is prevented from mistaking the starting picture and the audio data content of the target channel as the same integral content.
The second mode is as follows:
specifically, after the PMT of the target channel is completely analyzed, whether the PMT of the channel includes video data and audio data is determined according to the analysis result. And adding corresponding identification to the video flag bit in the flag bit group and/or adding corresponding identification to the audio flag bit under the condition that the PMT of the channel contains audio/video data, and further, the flag bit group added with the corresponding identification is the playing flag bit group.
In the second way of adding corresponding identifiers to the flag groups to obtain the playing flag groups, the following situations can be classified:
in the first case:
when only video data is contained in the PMT, a video data flag is added to the video flag. Specifically, after the PMT of the target channel is analyzed, whether data information does not exist in Aud i oL i st acquired by the PMT and whether data information exists in Vi deoL i st acquired by the PMT may be detected, and if so, the PMT is considered to only contain video data, and then a video data identifier is added to a video flag bit of the flag bit group, so as to obtain a corresponding play flag bit group.
In the second case:
when only audio data is contained in the PMT, an audio data flag is added to the audio flag. Specifically, after the PMT of the target channel is analyzed, whether data information does not exist in Vi deoL i st acquired by the PMT and whether data information exists in Aud i oL i st acquired by the PMT is detected, if so, the PMT is considered to contain only audio data, and then an audio data identifier is added to an audio flag bit of the flag bit group, so as to obtain a corresponding play flag bit group.
In the third case:
similarly, when the above steps are applied to confirm that the PMT of the target channel contains both video data and audio data, the audio flag bit in the flag bit group is added with the audio data identifier and the video flag bit in the flag bit group is added with the video data identifier, and the corresponding playing flag bit group is obtained.
It should be noted that, in a specific application scenario, the application may separately execute one of the three corresponding operations mentioned in the second manner according to the number of types of audio/video data carried in the PMT of the target channel. How to perform the operations corresponding to the above situations does not affect the scope of the present application.
Further optionally, after the corresponding identifier is added to the flag group according to the audio data information and the video data information in the PMT of the target channel and the playing flag group is obtained, the playing flag group may be sent to a middleware layer of the playing apparatus through an RPC (Remote Procedure call protocol), and the middleware layer detects the identifier information carried in the playing flag group.
Further, in the case of the three cases mentioned in the second mode, in S103 (playing the content of the target channel according to the playing flag group) in the present application, in the specific operation step of playing the content of the target channel according to the playing flag group, the following processes may be performed respectively in correspondence with the three cases in the second mode:
corresponding to the first case in the second mode:
when detecting that only the video data identification exists in the playing flag group, setting the current audio playing state as a continuous forbidden playing state, and then sending the video data in the channel PMT to the player. And after the middleware layer determines that the current audio playing state is the continuous playing prohibition state, the instruction of stopping playing the video is released, and the video data content of the channel is played. It should be noted that, before playing the video data content of the channel, a notification that the target channel is a channel capable of playing only the video data content may also be sent to the user.
Corresponding to the second case in the second mode:
when detecting that only the audio data identifier exists in the play flag group, setting the current video play state as a continuous play prohibition state, and then sending the audio data in the channel PMT to the player. And after the middleware layer determines that the current video playing state is the continuous playing prohibition state, the instruction of stopping playing the sound is released, and the sound data content of the channel is played. It should be noted that, before the audio data content of the channel is played, a notification that the target channel is a channel capable of playing only the audio data content may be sent to the user.
Corresponding to the third case in the second mode:
when the fact that the video data identification and the audio data identification exist in the playing flag bit group is detected, the target channel is judged to be a channel with video data content and audio data content, then the video data and the audio data in the PMT of the target channel are sent to a player, and after the player carries out AV synchronization on the video data and the audio data, a notice that the AV synchronization is completed is sent to a middleware layer. After receiving the notification, the middleware layer releases the instruction of stopping playing the video and the sound, and further plays the video data content and the audio data content of the channel.
It should also be noted that, before playing the video data content or the audio data content of the target channel according to the above three conditions, it may be further detected whether there is currently audio/video content being played, such as a startup animation, a remote video recording picture, USB video content, etc. if it is detected that there is currently audio/video content being played, it may be selected to stop playing the current audio/video content first, and start playing the content of the target channel after the preset time for stopping playing the current audio/video content. Further, when the audio and video content which is being played is detected to exist currently, whether the playing of the current audio and video content needs to be stopped first or not can be selected according to the category of the currently played audio and video content and the data content of the target channel, and the content of the target channel starts to be played after the preset time for stopping playing the current audio and video content. For example, when only audio data content exists in the target channel, it is detected that a power-on screen is currently being played before the audio data content of the target channel is played. At this time, the playing of the startup picture is terminated, and after the preset time for terminating the playing of the startup picture, the audio data content of the target channel is played. Therefore, the user is prevented from mistaking the starting picture and the audio data content of the target channel as the same integral content.
As another example, in S102 (obtaining the playing flag group according to the parsing result and the flag group), another specific implementation is further included, and specifically, the present application further includes a fast playing method for a non-standard code stream, as shown in fig. 2, where the method further includes:
s201, analyzing a program map table PMT of the target channel to obtain an analysis result.
S202, when the PMT is judged to contain video data and audio data according to the analysis result, the flag bit group is set as a playing flag bit group.
Optionally, after the PMT of the target channel is completely analyzed, whether the PMT of the channel includes information of video data and audio data is determined according to an analysis result. Further, after the PMT of the target channel is analyzed, it may be detected whether data information is not present in Vi deoL i st acquired by the PMT and whether data information is not present in Aud i oL i st acquired by the PMT, and if both are present, the PMT is considered to include both audio data and video data. Further, when it is determined that the PMT of the target channel contains both video data and audio data, no flag is added to the flag group, and the flag group is set as the play flag group.
S203, when it is detected that the playing flag bit group has no video data identification and no audio data identification, sending the video data and the audio data to the player.
Specifically, the play flag group is sent to the middleware layer through an RPC (Remote Procedure call protocol), and the middleware layer detects a state in which the play flag group carries identification information. When detecting that no video data identification or no audio data identification exists in the playing flag bit group, judging that the target channel is a channel with video data content and audio data content, then sending the video data and the audio data in the PMT of the target channel to the player, and after performing AV synchronization on the video data and the audio data, sending a notification that the AV synchronization is completed to the middleware layer by the player. After receiving the notification, the middleware layer releases the instruction of stopping playing the video and the sound, and further plays the video data content and the audio data content of the channel.
S204, detecting whether the currently played audio and video content exists, if so, entering S205. If not, go to S206
And S205, stopping playing the current audio and video content.
S206, playing the video data content and the sound data content of the target channel.
Further optionally, as an example, the present application further includes a method for fast playing a non-standard code stream, as shown in fig. 3, where the method further includes:
s301, analyzing a program map table PMT of the target channel to obtain an analysis result.
S302, when the PMT of the target channel does not contain video data but contains audio data, an audio data flag is added to the video flag in the flag group.
And S303, when detecting that only the audio data identification exists in the playing flag bit group, sending a notice that the target channel is a channel only capable of playing the audio data content to the user.
S304, whether the currently played audio and video content exists is detected, and if yes, the process goes to S305. If not, go to S306
And S305, stopping playing the current audio and video content.
S306, playing the sound data content of the channel.
In this embodiment, it is explained that only audio data exists in the PMT of the target channel and an audio data flag is added to the flag group. Through the above description, the present application can also provide several other implementations, namely: the above implementation manners are mentioned above and are not repeated herein, because they are mentioned above, the above implementation manners are not described herein repeatedly.
Having described the method of the exemplary embodiment of the present application, a fast playback apparatus of a non-standard codestream of the exemplary embodiment of the present application will be described with reference to fig. 4.
Referring to fig. 4, a schematic structural diagram of a fast playback apparatus for non-standard code streams according to an embodiment of the present application is schematically shown, where:
the device of the embodiment of the application mainly comprises: the parsing module 401, the adding module 402, and the playing module 403 respectively describe the modules and units included in the apparatus.
And the analysis module 401 is configured to analyze the program map table PMT of the target channel to obtain an analysis result.
An adding module 402, configured to add a corresponding identifier in the flag group according to the parsing result, so as to obtain a playing flag group.
A playing module 403, configured to play the content of the target channel according to the playing flag group.
The adding module 402 is further configured to add a non-video data flag to the video flag bit when the PMT does not contain video data. And/or when the PMT does not contain audio data, adding a no-audio-data identifier in the audio flag bit.
Further, the application also comprises a sending module, wherein
And the sending module is used for sending the audio data to the player and playing the audio data content of the target channel when detecting that the playing flag bit group only has no video data identification. Or when detecting that the playing flag bit group only has no audio data identification, sending the video data to the player and playing the video data content of the target channel.
It should be noted that, the sending module is further configured to send the video data and the audio data to the player when it is detected that the play flag group does not have the video data absence identifier and does not have the audio data absence identifier. So that the playing module 403 plays the video data content and the audio data content of the target channel.
Further, the adding module 402 is further configured to add a video data identifier to the video flag bit when the PMT includes video data. And/or when the PMT contains audio data, adding an audio data identifier in the audio flag bit.
Further, after the adding module 402 adds the video data identifier, and/or adds the audio data identifier in the audio flag bit:
a sending module, further configured to: when detecting that the playing flag bit group has the audio data identifier, sending the audio data to a player and playing the audio data content of the target channel; and/or when the playing flag group is detected to have the video data identification, sending the video data to the player and playing the video data content of the target channel.
Wherein, before playing the content of the target channel according to the playing flag bit group, the sending module is further configured to:
when detecting that the playing flag bit group only has no video data identification, sending a notice that the target channel is a channel only capable of playing the audio data content to the user. Or the like, or, alternatively,
and when detecting that the playing flag bit group only has no audio data identification, sending a notice that the target channel is a channel only capable of playing the video data content to the user. Or the like, or, alternatively,
and when the playing flag bit group has no video data identification and no audio data identification, sending a notice that the target channel content cannot be played to the user.
Further optionally, before playing the content of the target channel according to the playing flag bit group, the sending module is further configured to:
and when detecting that the playing flag bit group label only has the audio data identification, sending a notice that the target channel is the channel only capable of playing the audio data content to the user. Or the like, or, alternatively,
and when detecting that the playing flag bit group label only has the video data identification, sending a notice that the target channel is a channel only capable of playing the video data content to the user. Or the like, or, alternatively,
and when the playing flag bit group has no video data identification and no audio data identification, sending a notice that the target channel content cannot be played to the user.
Still further, the present application includes a stop module, wherein:
and the stopping module is used for stopping playing the current audio and video content when the current audio and video content is detected to be played.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the device described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. In addition, this application is not directed to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present application as described herein, and any descriptions of specific languages are provided above to disclose the best modes of the present application.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the application, various features of the application are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this application.
Those skilled in the art will appreciate that the devices in the embodiments may be adaptively changed and disposed in one or more devices different from the embodiments. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the application and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the present application may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It will be appreciated by those skilled in the art that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components of a method and apparatus for preventing illegal copying of software according to embodiments of the present application. The present application may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present application may be stored on a computer readable medium or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the application, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The application may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.