CN113038150B - Program switching method and device - Google Patents
Program switching method and device Download PDFInfo
- Publication number
- CN113038150B CN113038150B CN201911252282.3A CN201911252282A CN113038150B CN 113038150 B CN113038150 B CN 113038150B CN 201911252282 A CN201911252282 A CN 201911252282A CN 113038150 B CN113038150 B CN 113038150B
- Authority
- CN
- China
- Prior art keywords
- program
- switched
- video data
- audio data
- hardware decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000007781 pre-processing Methods 0.000 claims description 63
- 238000001914 filtration Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000001824 photoionisation detection Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The application discloses a program switching method and a device, which are used for realizing rapid program switching and reducing hardware cost and terminal power consumption required by program switching, thereby saving resources. The program switching method provided by the embodiment of the application comprises the following steps: determining a switched target program according to a user instruction; the audio data and the video data of the target program which are stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder; and outputting the image decoded by the video data hardware decoder and the sound decoded by the audio data hardware decoder.
Description
Technical Field
The present application relates to the field of electrical technologies, and in particular, to a program switching method and apparatus.
Background
The current technology for realizing the fast switching station for the live program is realized by 3 parallel hardware decoders (decoders), wherein the 3 hardware decoders work simultaneously, 1 decoding and playing the previous program, 1 decoding and playing the currently played program, and 1 decoding and playing the next program. Wherein the program is such as center 1, center 2, center 3, center 4, etc. If on the program list of the television terminal, the display order is respectively: center 1, center 2, center 3, center 4,; while the user is currently looking at the center 3, then the "previous program" designation is center 2 and the "next program" designation is center 4.
When receiving a request of switching the next (or the last) program from a user, the television directly outputs the decoded output image of the next (or the last) hardware decoder. This enables fast switching table (FCC) functions by means of a parallel operation of multiple hardware decoders. However, it is apparent that this implementation technique requires 3-way hardware decoders to operate simultaneously, is costly in hardware, and consumes relatively large amounts of power.
Disclosure of Invention
The embodiment of the application provides a program switching method and a device, which are used for realizing rapid program switching and reducing hardware cost and terminal power consumption required by program switching, thereby saving resources.
The program switching method provided by the embodiment of the application comprises the following steps:
determining a switched target program according to a user instruction;
the audio data and the video data of the target program which are stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder;
and outputting the image decoded by the video data hardware decoder and the sound decoded by the audio data hardware decoder.
By the method, audio data and video data of the target program stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder; and outputting the image decoded by the video data hardware decoder and the sound decoded by the audio data hardware decoder, so that quick program switching can be realized, and the hardware cost and the terminal power consumption required by the program switching are reduced, thereby saving resources.
Optionally, the target program belongs to a program to be switched, and the method further includes the step of pre-storing audio data and video data of the program to be switched as follows:
acquiring information of a program to be switched;
and filtering the program to be switched according to the information of the program to be switched to obtain the audio data and the video data of the program to be switched.
Optionally, the method further comprises:
and judging whether the frequency locking of the program to be switched is needed according to the information of the program to be switched.
Thus, time required for frequency locking can be saved.
Optionally, the program to be switched includes: the last program and the next program of the currently played program in the preset program management list.
Optionally, after obtaining the audio data and the video data of the program to be switched, the method further includes:
and sending the audio data and the video data of the program to be switched to a quick switching and playing preprocessing module corresponding to the program to be switched, and setting the working state of the quick switching and playing preprocessing module to be a quick switching preprocessing state.
Optionally, the audio data and the video data of the target program stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder, which specifically include:
and respectively transmitting the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program to an audio data hardware decoder and a video data hardware decoder.
Optionally, after the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program are respectively sent to the audio data hardware decoder and the video data hardware decoder, the method further includes:
setting the working state of the fast switching and playing preprocessing module corresponding to the target program as a playing state;
and respectively and directly transmitting the video data and the audio data of the program corresponding to the fast switching and playing preprocessing module in the playing state to a video data hardware decoder and an audio data hardware decoder for decoding and outputting.
In the application, each program to be switched is provided with two working states, namely a fast switching pretreatment state and a playing state, which correspond to each other; in the playing state, all live broadcast real-time data are directly poured into the audio/video data decoder without preprocessing, so that the switching between the preprocessing working state and the playing working state is simple and easy.
And it can be seen that, in the embodiment of the present application, based on the switching of the working states of the fast switching and playing preprocessing modules corresponding to each program to be switched, each program can be multiplexed with one audio/video data hardware decoder, so that the program switching can be realized only by using one audio/video data decoder. This can simply extend the fast switching preprocessing for many programs so that the programs can be switched fast by switching keys or number keys up and down by the remote control program.
Alternatively, the process may be carried out in a single-stage,
the audio data of the program to be switched comprises the audio data synchronized with the latest frame image of the program to be switched;
the video data of the program to be switched comprises I frame data of the latest frame image of the program to be switched, and B frame data and P frame data after the I frame data.
Since only one frame I frame is stored, followed by B, P frames, which are not decoded, only a small amount of storage space is needed, saving storage space.
And only one frame of audio packet (namely the latest audio packet) data corresponding to the latest video frame of the program to be switched is stored, so that the latest and real-time sound is ensured, the audio and video synchronization is also ensured, and the time required by the audio and video synchronization can be further saved.
Another embodiment of the present application provides a program switching apparatus, which includes a memory for storing program instructions and a processor for calling the program instructions stored in the memory and executing any one of the methods according to the obtained program.
Another embodiment of the present application provides a computer storage medium storing computer-executable instructions for causing the computer to perform any of the methods described above.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of time required for each operation phase of a switching station according to an embodiment of the present application;
fig. 2 is a schematic diagram of an internal flow of a program fast switching and playing preprocessing module according to an embodiment of the present application;
fig. 3 is a schematic flow chart of a program switching method according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a program switching device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The embodiment of the application provides a program switching method and a program switching device, which are used for reducing the hardware cost required by program switching, greatly reducing the power consumption of a terminal and saving resources.
The method and the device are based on the same application, and because the principles of solving the problems by the method and the device are similar, the implementation of the device and the method can be referred to each other, and the repetition is not repeated.
Various embodiments of the application are described in detail below with reference to the drawings attached to the specification. It should be noted that, the display sequence of the embodiments of the present application only represents the sequence of the embodiments, and does not represent the advantages or disadvantages of the technical solutions provided by the embodiments.
The device provided by the embodiment of the application can be any type of terminal product, for example, a television, a set top box, a mobile phone, a computer and the like.
For example, for a set-top box product, the most common functional operation is for the user to press a program up-down key to switch stations. Typically, the switching stage speed is controlled within 500ms so that the user operating experience is at an extreme level. This can perform the function of a handoff station within 500ms, which we call a fast handoff station (FCC) function.
The embodiment of the application aims at how to effectively realize the fast switching table (FCC) function under a single-channel hardware decoder aiming at the live program, analyzes the time influence factors of each stage of the switching table, and reduces the hardware cost realized by the fast switching table (FCC) function through a series of special technical processes, thereby realizing the purpose of reducing the working power consumption, providing efficiency, saving time and finally achieving the purpose of saving resources.
Specifically, the embodiment of the application aims at realizing the effective fast switching table (FCC) function of the live program under the single-channel hardware decoder, analyzes the time influence factors of each stage of the switching table, and effectively realizes the fast switching table (FCC) function under the single-channel hardware decoder through a series of technical steps of software identification, annular cache of the latest I, B and P frame data of the multi-channel program, audio and video presynchronization storage and discarding and the like. To reduce the hardware cost of a fast switching table (FCC) implementation and to reduce operating power consumption. The technology also has better platform applicability.
First, time-related factors of each stage of the switching station are analyzed:
for example, referring to fig. 1, the course of action phase times for a typical switching station includes the following:
1. basic information of a switching target program, such as frequency, audio and video identification code transmission packet identification (Packet Identifier, PID) and the like, is found;
the time spent in this process: in the millisecond range, i.e. substantially less time consuming.
2. Judging whether the program to be switched in the program list (namely a previous program and a next program of the currently played program) is in the same frequency as the currently played program, and if not, locking the frequency; if so, the program to be switched and the program currently played are on the same frequency, and frequency locking is not needed again.
The time spent in this process: 200ms level;
for example, regarding the frequency locking, 1, 2, 3, 4, 5, … … stations are taken as examples of the program center; frequency locking means locking a frequency such that a signal at that frequency can be fed in.
A frequency bandwidth of, for example, 8M, typically contains 4 to 8 programs; for example, a frequency of 350Mhz, indicating a center frequency of 350Mhz, may contain a center 1-4 programs; whereas 358Mhz may contain a central 5-8 programs;
if the user is currently looking at the central 1 station, then the frequency of machine locking must be 350Mhz; if one wants to see the central 6 stations, one must first lock on the 358Mhz frequency.
3. Setting audio and video PID parameters and filtering, and waiting for the arrival of a first I frame after switching stations (namely switching programs currently played);
the time spent in this process: on the order of 400-1500ms, depending on the program I frame interval, and the contingency of the switching station occasions.
4. Synchronizing audio and video;
the time spent in this process: 300-800 ms;
5. decoding audio and video data by hardware;
the time spent in this process: 20ms level;
6. the decoded image and sound are finally output and presented;
the time spent in this process: in the order of 10 ms.
In video coding, for efficient compression and transmission of data, the changing image codes are compressed into I, B, P frame data. The frames of different classes are roughly the following:
i frame is characterized by that it is a full-frame compression coding frame. The method carries out compression coding and transmission on full-frame image information; the complete image can be reconstructed only by using the data of the I frame during decoding;
p frame, B frame, I frame is taken as reference frame, and the dynamic change part different from the I frame (background) is predicted and encoded. Briefly, it only contains the image content that has changed relative to the previous frame for encoding. Is local and describes only the content of the variation.
From the above analysis, the process that takes a long time mainly includes: frequency locking, filtering data, waiting for I frame arrival and audio/video synchronization.
Based on the above analysis, referring to fig. 2, the overall implementation flow of the technical solution provided in the embodiment of the present application includes the following steps:
1. and establishing a program management list.
Wherein the program order in the program management list is consistent with the program order seen by the user on the User Interface (UI);
2. when a user watches a currently played program, the background executes the following steps:
2-A: acquiring next program information and last program information of a currently played program in a program management list;
wherein the next program information comprises the frequency, audio-video PID and the like of the next program; the last program information comprises the frequency, audio-video PID and the like of the last program;
2-B: if the program to be switched (i.e. the next program and the last program) and the currently played program are not in the same frequency point, locking the frequency point of the program to be switched by a Tuner; the method specifically comprises the following steps:
the next program information of the currently played program is taken out, and whether the next program and the currently played program are in the same frequency point or not is judged; if not, other tuners are used to lock the frequency point of the 'next' program.
The information of the last program of the currently played program is taken out, and whether the last program and the currently played program are in the same frequency point or not is judged; if not, other tuners are used for locking the frequency point of the last program.
2-C: continuously filtering audio and video data of the programs to be switched (namely the next program and the last program) respectively, transmitting the data filtered by the programs to a fast switching and playing preprocessing module respectively, and setting the working state of the fast switching and playing preprocessing module to be a fast switching preprocessing state;
wherein, the audio and video data of each program has different PIDs; audio data and video data for each program can be filtered out by this PID. Filtering the obtained data, including audio data and video data of each program; a program contains a set of audio data and a set of video data. Step 2-C specifically comprises:
continuously filtering audio and video data of the last program, and transmitting the audio data and the video data obtained by filtering the last program to a fast switching and playing preprocessing module corresponding to the last program; setting the working state of the fast switching and playing preprocessing module as a fast switching preprocessing state;
continuously filtering audio and video data of the next program, and transmitting the audio data and the video data obtained by filtering the next program to a fast switching and playing preprocessing module corresponding to the next program; and the working state of the fast switching and playing preprocessing module is set to be a fast switching preprocessing state.
Wherein each program contains its own set of audio data and set of video data. For a program, there is its own independent fast switching and playback preprocessing module to process the video and audio of the program.
It is also known from the above steps 2-a,2-B that 3 programs need to be processed simultaneously, so that there are 3 different fast switching and playing preprocessing modules corresponding to each other.
3. When the user presses the up-down key of the remote controller to switch the station, the program index of the target program (i.e. the last program or the next program) to be switched is determined.
The target program to be switched is one program of the programs to be switched.
4. And according to the program index of the target program, the stored image I frame, each B frame and each P frame and an audio frame packet synchronous with the last (or latest) frame image are taken out from the corresponding fast switching and playing preprocessing module of the target program.
5. And respectively filling the image I frame, each B frame and each P frame of the target program into a video data hardware decoder, and filling the audio frame data synchronized with the image of the last frame into an audio data hardware decoder.
Wherein, since the audio frame synchronized with the last frame image is the last frame audio packet and the new audio packet coming thereafter is continuous in time, the sound can be made to sound continuous without jumping.
6. And outputting the image of the target program decoded by the video data hardware decoder and the sound of the target program decoded by the audio data hardware decoder.
At this time, the target program has been switched to the currently played program.
7. The working state of the fast switching and playing preprocessing module for switching the currently played program is a playing state, so that the image and sound data of the currently played program are not preprocessed, and are continuously and directly sent to the video data hardware decoder and the audio data hardware decoder to directly decode and output the image and sound.
Wherein the pretreatment, i.e. the step in the large wire in fig. 2, comprises the steps 3-6.
In summary, the technical solution provided by the embodiment of the present application includes the following matters:
1. and when watching the currently played program, the background locks the frequency point of the next and/or the last program in advance, and filters data to enter a program fast switching preprocessing module. Here, about 200ms of time required for frequency locking can be saved.
2. In a program quick switching preprocessing module of one path of program, under the working state of quick switching:
2-1), video processing buffering only the I-frame of the latest one frame, and the subsequent B, P frames; because, for live programming, the user needs to see the latest and most real-time image after switching the station. Thus, after the user cuts the platform, the user can be ensured to see the latest real-time image. The function of storing B and P frames is to send I frames, each B and P frame into video data hardware decoder after user switches the station, so that decoded images are overlapped, mosaic will not appear, and the user sees the latest real-time image. And only one frame I frame is stored followed by B, P frames of these video undecoded compressed frames, requiring only a small amount of memory space.
Here, the time required to wait for an I frame can be saved by about 400-1500 ms.
2-2), the audio processing stores only one frame of audio packet data of the program to be switched (i.e. the program to be played next, i.e. the program immediately preceding or next to the currently played program in the program list). By continuously comparing the time stamp of the latest video frame of the program to be switched with the time stamp of the latest video frame of the program to be switched, only one frame of audio packet (namely the latest audio packet) data corresponding to the latest video frame synchronized with the program to be switched is stored, so that the latest and latest real-time sound is ensured, and the audio and video synchronization is also ensured. And only one frame of audio is stored without decoding the compressed frame, only little storage space is needed.
The time of 300-800ms required by audio and video synchronization can be saved.
3. The fast switching and playing preprocessing module has two working states, namely a fast switching preprocessing state and a playing state; in the playing state, all live broadcast real-time data are directly poured into the corresponding audio and video data decoder without preprocessing. This makes it simple and easy to switch the preprocessing state and the play state quickly.
4. The video and audio preprocessing algorithm of one path of program is simple, the related data buffer area is few, and an audio and video data hardware decoder is multiplexed. This can simply extend the fast switching preprocessing for many programs so that the programs can be switched fast by switching keys or number keys up and down by the remote control program.
In summary, referring to fig. 3, a program switching method provided by an embodiment of the present application includes:
s101, determining a switched target program according to a user instruction;
s102, respectively sending the audio data and the video data of the target program stored in advance to an audio data hardware decoder and a video data hardware decoder;
s103, outputting the image decoded by the video data hardware decoder and the sound decoded by the audio data hardware decoder.
By the method, audio data and video data of the target program stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder; and outputting the image decoded by the video data hardware decoder and the sound decoded by the audio data hardware decoder, so that quick program switching can be realized, and the hardware cost and the terminal power consumption required by the program switching are reduced, thereby saving resources.
Optionally, the target program belongs to a program to be switched, and the method further includes the step of pre-storing audio data and video data of the program to be switched as follows:
acquiring information of a program to be switched;
and filtering the program to be switched according to the information of the program to be switched to obtain the audio data and the video data of the program to be switched.
Optionally, the method further comprises:
and judging whether the frequency locking of the program to be switched is needed according to the information of the program to be switched.
Thus, time required for frequency locking can be saved.
Optionally, the program to be switched includes: the last program and the next program of the currently played program in the preset program management list.
Optionally, after obtaining the audio data and the video data of the program to be switched, the method further includes:
and sending the audio data and the video data of the program to be switched to a quick switching and playing preprocessing module corresponding to the program to be switched, and setting the working state of the quick switching and playing preprocessing module to be a quick switching preprocessing state.
Optionally, the audio data and the video data of the target program stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder, which specifically include:
and respectively transmitting the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program to an audio data hardware decoder and a video data hardware decoder.
Optionally, after the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program are respectively sent to the audio data hardware decoder and the video data hardware decoder, the method further includes:
setting the working state of the fast switching and playing preprocessing module corresponding to the target program as a playing state;
and respectively and directly transmitting the video data and the audio data of the program corresponding to the fast switching and playing preprocessing module in the playing state to a video data hardware decoder and an audio data hardware decoder for decoding and outputting.
In the application, each program to be switched is provided with two working states, namely a fast switching pretreatment state and a playing state, which correspond to each other; in the playing state, all live broadcast real-time data are directly poured into the audio/video data decoder without preprocessing, so that the switching between the preprocessing working state and the playing working state is simple and easy.
And it can be seen that, in the embodiment of the present application, based on the switching of the working states of the fast switching and playing preprocessing modules corresponding to each program to be switched, each program can be multiplexed with one audio/video data hardware decoder, so that the program switching can be realized only by using one audio/video data decoder. This can simply extend the fast switching preprocessing for many programs so that the programs can be switched fast by switching keys or number keys up and down by the remote control program.
Alternatively, the process may be carried out in a single-stage,
the audio data of the program to be switched comprises the audio data synchronized with the latest frame image of the program to be switched;
the video data of the program to be switched comprises I frame data of the latest frame image of the program to be switched, and B frame data and P frame data after the I frame data.
Since only one frame I frame is stored, followed by B, P frames, which are not decoded, only a small amount of storage space is needed, saving storage space.
And only one frame of audio packet (namely the latest audio packet) data corresponding to the latest video frame of the program to be switched is stored, so that the latest and real-time sound is ensured, the audio and video synchronization is also ensured, and the time required by the audio and video synchronization can be further saved.
Referring to fig. 4, another embodiment of the present application provides a program switching apparatus, which includes a memory 11 and a processor 12, wherein the memory 11 is used for storing program instructions, and the processor 12 is used for calling the program instructions stored in the memory 11, and executing according to the obtained program:
determining a switched target program according to a user instruction;
the audio data and the video data of the target program which are stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder;
and outputting the image decoded by the video data hardware decoder and the sound decoded by the audio data hardware decoder.
Optionally, the target program belongs to a program to be switched, and the processor 12 is further configured to call the program instructions stored in the memory 11, and execute the following steps of pre-storing audio data and video data of the program to be switched according to the obtained program:
acquiring information of a program to be switched;
and filtering the program to be switched according to the information of the program to be switched to obtain the audio data and the video data of the program to be switched.
Optionally, the processor 12 is further configured to call the program instructions stored in the memory 11, and execute according to the obtained program:
and judging whether the frequency locking of the program to be switched is needed according to the information of the program to be switched.
Optionally, the program to be switched includes: the last program and the next program of the currently played program in the preset program management list.
Optionally, after obtaining the audio data and the video data of the program to be switched, the processor 12 is further configured to call the program instructions stored in the memory 11, and execute according to the obtained program:
and sending the audio data and the video data of the program to be switched to a quick switching and playing preprocessing module corresponding to the program to be switched, and setting the working state of the quick switching and playing preprocessing module to be a quick switching preprocessing state.
Optionally, the audio data and the video data of the target program stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder, which specifically include:
and respectively transmitting the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program to an audio data hardware decoder and a video data hardware decoder.
Optionally, after sending the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program to the audio data hardware decoder and the video data hardware decoder, respectively, the processor 12 is further configured to invoke the program instruction stored in the memory 11, and execute according to the obtained program:
setting the working state of the fast switching and playing preprocessing module corresponding to the target program as a playing state;
and respectively and directly transmitting the video data and the audio data of the program corresponding to the fast switching and playing preprocessing module in the playing state to a video data hardware decoder and an audio data hardware decoder for decoding and outputting.
Alternatively, the process may be carried out in a single-stage,
the audio data of the program to be switched comprises the audio data synchronized with the latest frame image of the program to be switched;
the video data of the program to be switched comprises I frame data of the latest frame image of the program to be switched, and B frame data and P frame data after the I frame data.
It should be noted that, in the embodiment of the present application, the division of the units is schematic, which is merely a logic function division, and other division manners may be implemented in actual practice. In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The device provided by the embodiment of the application can be a desktop computer, a portable computer, a smart phone, a tablet personal computer, a mobile phone, a television, a set top box, a personal digital assistant (Personal Digital Assistant, PDA) and the like. The apparatus may include a central processing unit (Center Processing Unit, CPU), a memory, an input/output device, etc., the input device may include a keyboard, a mouse, a touch screen, a remote controller, etc., and the output device may include a display device such as a liquid crystal display (Liquid Crystal Display, LCD), a Cathode Ray Tube (CRT), etc.
The memory may include Read Only Memory (ROM) and Random Access Memory (RAM) and provide the processor with program instructions and data stored in the memory. In the embodiment of the present application, the memory may be used to store a program of any of the methods provided in the embodiment of the present application.
The processor is used for executing any one of the methods provided by the embodiment of the application according to the obtained program instructions by calling the program instructions stored in the memory.
An embodiment of the present application provides a computer storage medium storing computer program instructions for use in an apparatus provided in the embodiment of the present application, where the computer storage medium includes a program for executing any one of the methods provided in the embodiment of the present application.
The computer storage media may be any available media or data storage device that can be accessed by a computer, including, but not limited to, magnetic storage (e.g., floppy disks, hard disks, magnetic tape, magneto-optical disks (MOs), etc.), optical storage (e.g., CD, DVD, BD, HVD, etc.), and semiconductor storage (e.g., ROM, EPROM, EEPROM, nonvolatile storage (NAND FLASH), solid State Disk (SSD)), etc.
The above-described method process flow may be implemented in a software program, which may be stored in a storage medium, and which performs the above-described method steps when the stored software program is called.
In summary, according to the technical scheme provided by the embodiment of the application, aiming at how to realize the FCC function under the single-channel hardware decoder, the time influencing elements of each stage of the switching station are analyzed, and the FCC function is realized through the following flow:
1. when watching the currently played program, the background locks frequency in advance a plurality of possible switching target programs (i.e. programs to be switched) so as to save the frequency locking time during switching.
2. And the video data is not decoded through the fast switching and playing preprocessing module, the I frame, the B frame and the P frame are identified by software, and only the I frame storing the latest frame of image, the B frame and the P frame after the I frame of the latest frame of image are refreshed. Thus, the time required to wait for the I frame of the target program is saved.
3. The audio data of the program to be switched is not decoded by the fast switching and playing preprocessing module, and only one frame of audio data synchronous with the current latest video frame of the program to be switched is refreshed and stored according to the time stamp. Therefore, the audio and video synchronization time of the program waiting to be switched is saved.
4. The fast switching and playing preprocessing module is used for fast switching preprocessing and normal playing processing.
Therefore, the embodiment of the application pre-identifies the category and the characteristic of the audio/video data packet by using software, and not only saves time, but also realizes the FCC function under a single-channel hardware decoder by a special fast switching and playing preprocessing module. The method has the obvious beneficial effects of low hardware cost, low power consumption, easy expansion, high efficiency and the like.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, magnetic disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.
Claims (5)
1. A program switching method, the method comprising:
determining a switched target program according to a user instruction;
the audio data and the video data of the target program which are stored in advance are respectively sent to an audio data hardware decoder and a video data hardware decoder;
outputting an image decoded by the video data hardware decoder and a sound decoded by the audio data hardware decoder;
the method further comprises the following step of pre-storing audio data and video data of the program to be switched:
acquiring information of a program to be switched;
filtering the program to be switched according to the information of the program to be switched to obtain audio data and video data of the program to be switched; the audio data of the program to be switched comprises the audio data synchronized with the latest frame image of the program to be switched; the video data of the program to be switched comprises I frame data of the latest frame image of the program to be switched, and B frame data and P frame data after the I frame data;
transmitting the audio data and the video data of the program to be switched to a quick switching and playing preprocessing module corresponding to the program to be switched, and setting the working state of the quick switching and playing preprocessing module to be a quick switching preprocessing state;
the method specifically comprises the steps of respectively sending the audio data and the video data of the target program stored in advance to an audio data hardware decoder and a video data hardware decoder, wherein the method specifically comprises the following steps:
the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program are respectively sent to an audio data hardware decoder and a video data hardware decoder;
the method further comprises the steps of after the audio data and the video data in the fast switching and playing preprocessing module corresponding to the target program are respectively sent to the audio data hardware decoder and the video data hardware decoder:
setting the working state of the fast switching and playing preprocessing module corresponding to the target program as a playing state;
and respectively and directly transmitting the video data and the audio data of the program corresponding to the fast switching and playing preprocessing module in the playing state to a video data hardware decoder and an audio data hardware decoder for decoding and outputting.
2. The method according to claim 1, characterized in that the method further comprises:
and judging whether the frequency locking of the program to be switched is needed according to the information of the program to be switched.
3. The method according to claim 1 or 2, wherein the program to be switched comprises: the last program and the next program of the currently played program in the preset program management list.
4. A program switching apparatus, comprising:
a memory for storing program instructions;
a processor for invoking program instructions stored in said memory and for performing the method according to any of claims 1 to 3 in accordance with the obtained program.
5. A computer storage medium storing computer executable instructions for causing the computer to perform the method of any one of claims 1 to 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252282.3A CN113038150B (en) | 2019-12-09 | 2019-12-09 | Program switching method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252282.3A CN113038150B (en) | 2019-12-09 | 2019-12-09 | Program switching method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113038150A CN113038150A (en) | 2021-06-25 |
CN113038150B true CN113038150B (en) | 2023-09-12 |
Family
ID=76452002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252282.3A Active CN113038150B (en) | 2019-12-09 | 2019-12-09 | Program switching method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113038150B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866823B (en) * | 2022-04-02 | 2023-01-06 | 北京广播电视台 | Ultra-high definition video broadcasting system and method with logic linkage function |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883208A (en) * | 2012-09-27 | 2013-01-16 | 深圳市九洲电器有限公司 | Method and system for quickly changing programs |
WO2015116164A1 (en) * | 2014-01-31 | 2015-08-06 | Thomson Licensing | Method and apparatus for synchronizing playbacks at two electronic devices |
WO2016045209A1 (en) * | 2014-09-28 | 2016-03-31 | 深圳国微技术有限公司 | Program switching method, device and terminal |
CN105898552A (en) * | 2016-06-20 | 2016-08-24 | 深圳创维数字技术有限公司 | Method and device for playing video data |
CN106658162A (en) * | 2015-11-03 | 2017-05-10 | 中兴通讯股份有限公司 | Channel changing method, channel changing device and set-top box |
CN107645671A (en) * | 2016-07-22 | 2018-01-30 | 南京中兴新软件有限责任公司 | Program switching method and device |
CN108289240A (en) * | 2018-01-30 | 2018-07-17 | 深圳创维数字技术有限公司 | Method, terminal and the computer-readable medium of DTV fast channel switching |
CN108566526A (en) * | 2018-04-16 | 2018-09-21 | 青岛海信宽带多媒体技术有限公司 | A kind of program broadcasting method, device and set-top box |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101799278B1 (en) * | 2014-12-05 | 2017-11-20 | 엘지전자 주식회사 | Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal |
US10645454B2 (en) * | 2016-06-22 | 2020-05-05 | Electronics And Telecommunications Research Institute | Apparatus for transmitting and receiving dynamic multi-mode service and method for providing the same |
-
2019
- 2019-12-09 CN CN201911252282.3A patent/CN113038150B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883208A (en) * | 2012-09-27 | 2013-01-16 | 深圳市九洲电器有限公司 | Method and system for quickly changing programs |
WO2015116164A1 (en) * | 2014-01-31 | 2015-08-06 | Thomson Licensing | Method and apparatus for synchronizing playbacks at two electronic devices |
WO2016045209A1 (en) * | 2014-09-28 | 2016-03-31 | 深圳国微技术有限公司 | Program switching method, device and terminal |
CN106658162A (en) * | 2015-11-03 | 2017-05-10 | 中兴通讯股份有限公司 | Channel changing method, channel changing device and set-top box |
CN105898552A (en) * | 2016-06-20 | 2016-08-24 | 深圳创维数字技术有限公司 | Method and device for playing video data |
WO2017219870A1 (en) * | 2016-06-20 | 2017-12-28 | 深圳创维数字技术有限公司 | Method and device for playing video data |
CN107645671A (en) * | 2016-07-22 | 2018-01-30 | 南京中兴新软件有限责任公司 | Program switching method and device |
CN108289240A (en) * | 2018-01-30 | 2018-07-17 | 深圳创维数字技术有限公司 | Method, terminal and the computer-readable medium of DTV fast channel switching |
CN108566526A (en) * | 2018-04-16 | 2018-09-21 | 青岛海信宽带多媒体技术有限公司 | A kind of program broadcasting method, device and set-top box |
Also Published As
Publication number | Publication date |
---|---|
CN113038150A (en) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109168078B (en) | Video definition switching method and device | |
RU2666233C1 (en) | Method and device for determination of reference images for external prediction | |
CN105979347A (en) | Video play method and device | |
CN112087633A (en) | Video decoding method, device and storage medium | |
US20180103296A1 (en) | Method and apparatus for video playing processing and television | |
CN102792710B (en) | For playing equipment and the method for media content data | |
US9531983B2 (en) | Decoding interdependent frames of a video for display | |
CN107517400B (en) | Streaming media playing method and streaming media player | |
CN1271835C (en) | Recording regenerative method and device for motion picture data | |
CN101277450A (en) | Method and apparatus for switching program | |
CN101267545A (en) | A program switching method and device | |
CN111836076A (en) | Video resolution switching method and device and electronic equipment | |
CN109348285A (en) | Channel switching method and device | |
KR100703529B1 (en) | Apparatus and method for receiving images of multiple channel in receiving digital multimedia broadcasting | |
CN113225585A (en) | Video definition switching method and device, electronic equipment and storage medium | |
CN113038150B (en) | Program switching method and device | |
CN103391467A (en) | Method for achieving synchronization of decoding and displaying of audio and video of network set-top box | |
CN1960450B (en) | Method and device for switching channels of multimedia broadcast | |
KR20130024571A (en) | Broadcast receiving device and method | |
CN104994406B (en) | A kind of video editing method and device based on Silverlight plug-in units | |
US20180234724A1 (en) | Video bitstream processing for enabling tune-in | |
CN115297331A (en) | Video data processing method, device, equipment and system | |
US10264274B2 (en) | Coding of video and audio with initialization fragments | |
JP3393907B2 (en) | Video decoding device | |
CN114286123A (en) | Live broadcast method and device of television program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |