Device and method for realizing fast channel switching
Technical Field
The invention relates to a mobile communication technology, in particular to a device and a method for realizing fast channel switching.
Background
In mobile multimedia communications, the length of the channel switching time is critical to the user experience. Although the time for switching channels is shortened as much as possible by adjusting the time slice parameters, the information source coding parameters and the like at present; however, due to the lack of backhaul channel, some interactive improvement techniques cannot be used for multimedia communication to shorten the channel switching time. Therefore, no technology for effectively shortening the channel switching time has been developed.
Disclosure of Invention
In view of the above, the present invention provides an apparatus and a method for fast switching channels, so as to effectively shorten the channel switching time.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
a device for realizing fast channel switching comprises a switching control unit and a receiving unit which are connected; the device also comprises a channel content caching unit and a channel content playing unit which are connected with the receiving unit; wherein,
the switching control unit is used for determining a predicted channel with switching possibility and informing the receiving unit; the switching control unit is also provided with a timer which is restarted when the channel switching is started each time, and when the timer is overtime, an overtime notice is sent to the receiving unit;
the receiving unit is used for receiving the channel content of the predicted channel determined by the switching control unit and sending the channel content to the channel content caching unit; the channel content cache unit is used for caching channel content of a predicted channel when a target channel to be switched to is the predicted channel; the system is also used for receiving the channel content of the current channel only after receiving the overtime notice;
in the channel switching process, once the initial channel switching occurs, the system enters an initial switching state; in the initial switching state, when the channel switching occurs again, the system enters a switching state again; the new switching is still in the re-switching state under the re-switching state; if no new channel switching occurs within a certain period of time, the stable playing state is considered to be entered; switching among the states;
the channel content caching unit is used for storing and providing channel content of the predicted channel;
the channel content playing unit is used for processing the channel content from the receiving unit, including playing.
The device further comprises a user behavior statistical unit connected with the switching control unit; wherein,
the user behavior statistical unit is used for determining a common channel with switching possibility according to a user channel switching history record in the switching control unit and sending the information of the common channel to the switching control unit;
the switching control unit is further configured to consider the common channel information from the user behavior statistics unit when determining the predicted channel.
The apparatus further comprises an adjacent channel searching unit connected to the switching control unit; wherein,
the adjacent channel searching unit is used for determining an adjacent channel adjacent to the current channel according to the current channel information in the switching control unit and sending the information of the adjacent channel to the switching control unit;
the switching control unit is further configured to consider adjacent channel information from the adjacent channel searching unit when determining the predicted channel.
The device further comprises a user behavior statistical unit and an adjacent channel searching unit which are connected with the switching control unit; wherein,
the user behavior statistical unit is used for determining a common channel with switching possibility according to a user channel switching history record in the switching control unit and sending the information of the common channel to the switching control unit;
the adjacent channel searching unit is used for determining an adjacent channel adjacent to the current channel according to the current channel information in the switching control unit and sending the information of the adjacent channel to the switching control unit;
the switching control unit is further configured to consider the common channel information and the adjacent channel information from the user behavior statistics unit and the adjacent channel search unit, respectively, when determining the predicted channel.
The receiving unit is further configured to control the channel content caching unit to empty the stored channel content;
the channel content cache unit is further configured to empty the stored channel content according to the control of the receiving unit.
The receiving unit is further configured to perform decoding processing on the channel content sent to the channel content caching unit.
The target channel to switch to is not the predicted channel; the receiving unit is further configured to directly switch to the target channel.
A method for realizing fast channel switching comprises the following steps:
determining a predicted channel with switching possibility, and receiving and caching channel content of the predicted channel; when the target channel to be switched to is the predicted channel, playing the cached channel content of the predicted channel, and switching to the predicted channel; when no new channel switching occurs within a certain period of time, entering a stable playing state and only receiving the channel content of the current channel;
in the channel switching process, once the initial channel switching occurs, the system enters an initial switching state; in the initial switching state, when the channel switching occurs again, the system enters a switching state again; the new switching is still in the re-switching state under the re-switching state; if no new channel switching occurs within a certain period of time, the stable playing state is considered to be entered; the above states can be switched.
The method for determining the predicted channel comprises the following steps:
determining all channels except the current channel as the predicted channel;
or, determining a frequently-used channel with switching possibility according to a user channel switching history record, and determining the frequently-used channel as the predicted channel;
or, determining an adjacent channel adjacent to the current channel according to the current channel information, and determining the adjacent channel as the predicted channel;
or, determining a frequently used channel with switching possibility according to a user channel switching history record, determining an adjacent channel adjacent to the current channel according to current channel information, and determining a channel included in an intersection or an intersection of the frequently used channel and the adjacent channel as the predicted channel.
The time when no channel switch is made is timed out, the method further comprising:
receiving only the channel content of the current channel and emptying the cached channel content of the predicted channel.
Before playing the channel content, further processing the channel content including decoding;
or, further processing including decoding is performed on the buffered channel content.
The switching to the target channel is triggered by receiving a channel switching command; the cached channel content that is played is the cached channel content of the predicted channel after the channel change command.
The target channel to switch to is not the predicted channel; the method further comprises the following steps: directly switching to the target channel
Therefore, the device and the method for realizing the rapid channel switching have the advantages that the predicted channel which is possibly switched to is predetermined, and the content of the predicted channel is cached; therefore, when the predicted channel is switched to subsequently, the cached content of the predicted channel can be played first, and meanwhile, the channel switching can be carried out. This obviously saves the time required for directly switching channels, thereby effectively shortening the channel switching time felt by the user and further obviously improving the user satisfaction.
Drawings
Fig. 1 is a diagram of an apparatus for implementing fast channel switching according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating an embodiment of fast channel switching;
fig. 3 is a schematic diagram illustrating the working status of the channel switching process according to the present invention.
Detailed Description
The present invention will be described in detail with reference to the accompanying drawings.
Referring to fig. 1, fig. 1 is a diagram of an apparatus for implementing fast channel switching according to an embodiment of the present invention. In fig. 1, the switching control unit is respectively connected to the user behavior counting unit and the adjacent channel searching unit; the receiving unit is respectively connected with the channel content caching unit and the channel content playing unit; the switching control unit is connected with the receiving unit.
In practical application, the switching control unit may interact with the user behavior counting unit and the adjacent channel searching unit, so that the user behavior counting unit and the adjacent channel searching unit obtain current channel information and a user channel switching history.
From the obtained user channel switching history record, the user behavior statistical unit may obtain the number of times of use of each channel, compare the number of times of use of each channel with a preset number of times of use threshold, determine a channel whose number of times of use exceeds the number of times of use threshold as a commonly used channel, and then send information of the commonly used channel to the switching control unit.
From the obtained current channel information, the adjacent channel searching unit may obtain channel identification information such as a time slice time position and a channel number of the current channel, and search for a channel adjacent to the time slice time position or the channel number of the current channel, determine the found channel as an adjacent channel adjacent to the current channel, and then send information of the adjacent channel to the switching control unit.
After receiving the channel information from the user behavior statistical unit and the adjacent channel searching unit, the switching control unit extracts the intersection or the union of the channel information from the user behavior statistical unit and the adjacent channel searching unit, determines the channel corresponding to the channel information contained in the extracted union as a predicted channel which is possible to be switched to subsequently, and informs the receiving unit to receive the channel content of the predicted channel in a mode of sending a level signal or an event and the like. And when receiving the notice from the switching control unit, the receiving unit receives the channel content of the predicted channel and sends the received predicted channel content to the channel content cache unit for storage. Certainly, the receiving unit also receives the channel content of the current channel and sends the received current channel content to the channel content playing unit, and the channel content playing unit performs subsequent processing such as decoding and playing on the received channel content.
When receiving a channel switching command, the switching control unit transmits target channel information to be switched, which is contained in the command, to the receiving unit. The receiving unit determines to switch to the target channel according to the received target channel information, and acquires the target channel content from the channel content cache unit. If the channel content cache unit stores the target channel content, the channel content cache unit sends the target channel content to the receiving unit, the receiving unit searches the target channel content cached after the channel switching command in the received target channel content and sends the searched target channel content to the channel content playing unit, and the channel content playing unit performs subsequent processing such as decoding and playing on the received channel content.
Naturally, the receiving unit further receives the channel content of the target channel, and sends the received target channel content to the channel content playing unit, and the channel content playing unit performs subsequent processing such as decoding and playing on the target channel content. Moreover, the channel content playing unit may further splice the acquired cached channel content and the channel content of the switched target channel, and the splicing manner may be multiple, for example: continuous buffer play, selective frame loss, temporary fast decoding play, etc. In addition, the receiving unit may control the channel content caching unit to delete the target channel content cached before the channel switching command by sending a command or the like.
Of course, if the channel content cache unit does not store the target channel content, the channel content cache unit sends a failure response to the receiving unit, the receiving unit switches channels by applying the prior art, receives the target channel content and sends the received target channel content to the channel content playing unit, and the channel content playing unit performs subsequent processing such as decoding and playing on the received channel content.
It should be noted that: the user behavior statistics unit and/or the neighbor channel searching unit may be eliminated. If only one of the user behavior statistical unit and the adjacent channel searching unit is applied, the switching control unit determines the channel corresponding to the received channel information as a predicted channel; the switching control unit may determine all channels except the current channel as the predicted channel if the user behavior counting unit and the neighbor channel searching unit are not applied. In addition, when the predicted channel content is cached, preprocessing such as decoding can be carried out on the cached predicted channel content; therefore, when switching to the predicted channel, the channel content decoding and other processing can be directly played without consuming time.
In practical applications, it is also possible to set a switching timer in the switching control unit and restart the timer each time a channel switch is started. When the timer is overtime, the stable playing state that the channel switching does not occur for a long time can be determined, and the timer can send an overtime notice to the receiving unit; the receiving unit receives the overtime notice from the timer and then only receives the channel content of the current channel, and the receiving unit can further control the channel content cache unit to empty the stored channel content in a mode of sending a command and the like.
As can be seen from the description with respect to fig. 1, since the predicted channel to which switching is possible is predetermined and the predicted channel content is cached; therefore, when the predicted channel is switched to subsequently, the cached content of the predicted channel can be played first, and meanwhile, the channel switching can be carried out. This obviously saves the time required for directly switching channels, thereby effectively shortening the channel switching time felt by the user and further obviously improving the user satisfaction.
The key description for fig. 1 can be represented by the flow shown in fig. 2. Referring to fig. 2, fig. 2 is a flowchart of implementing fast channel switching according to an embodiment of the present invention, where the flowchart includes the following steps:
step 201: content of a predicted channel having a likelihood of switching is received.
Step 202: the received predicted channel content is cached and pre-processed.
Step 203: a channel switch command is received.
Step 204: judging whether the target channel to be switched is a predicted channel or not, if so, directly entering the step 206; otherwise, step 205 is entered.
Step 205: switches to the target channel and returns to step 201.
Step 206: and playing the content of the target channel cached after the channel switching command, and switching to the target channel.
The working state in the channel switching process can be realized by a state machine. Referring to fig. 3, fig. 3 is a schematic diagram illustrating the working status of the channel switching process according to the present invention. In fig. 3, once the initial channel switching occurs, the system enters the initial switching state. In the initial switching state, when channel switching occurs again, the system enters a re-switching state. The new handover in the re-handover state is still in the re-handover state. If no new channel switching occurs within a certain period of time, it is considered to enter a stable playing state. The idle state is determined when the channel content is not initially received. The above states can be switched.
As can be seen from the above description, the device and method for implementing fast channel switching provided by the present invention pre-determine the predicted channel to which switching is possible, and cache the content of the predicted channel; therefore, when the predicted channel is switched to subsequently, the cached content of the predicted channel can be played first, and meanwhile, the channel switching can be carried out. This obviously saves the time required for directly switching channels, thereby effectively shortening the channel switching time felt by the user and further obviously improving the user satisfaction.