Patent Publication Number: US-2003231866-A1

Title: Method of video display using a decoder

Description:
FIELD OF THE INVENTION  
       [0001] The invention relates to a method for generating a video signal to be displayed using a decoder.  
       BACKGROUND OF THE INVENTION  
       [0002] In a receiving and display system using notably a video decoder, a problem of display arises when the user orders certain special functions that interrupt the normal viewing of the video, such as:  
       [0003] a freeze-frame then resume continuous display command which we shall call freeze or freeze/continue in the rest of the disclosure according to a terminology commonly used in the art, and which corresponds to freezing the picture being displayed on the display screen then resuming normal continuous display after a certain lapse of time corresponding to the period of freezing,  
       [0004] switching channel or service (channel hopping) during which an absence of display can occur and therefore a black screen on the display monitor.  
       [0005] In a low-cost, limited-memory decoder, at the time of a freeze-frame command on a video receiving service, the first operation to be performed is to freeze the display of the latest decoded frame at the time the “Freeze” occurs. But to do so, the MPEG video decoding process must be halted so as not to delete from memory the frozen frame displayed on the screen. This is because the video decoding and display processes access the same video memory that stores the decoded (I or P) reference frames as well as a part of the B frames (which are not generally stored in their entirety in video memory) in video display memories containing the decoded frames and called frame buffers. The decoding process is always ahead of the display process, since this process entails writing the decoded frames into the frame buffers, before the display process comes to read them in order to display them. Moreover, the video decoding and display processes are respectively synchronized with the audio decoding and playing processes, so that audio and video remain synchronous.  
       [0006] Therefore, if the video display process is suspended, it is necessary to first stop the video decoding process, and consequently to interrupt synchronization between audio and video. It should further be noted that the decoding of the audio service carries on throughout the freeze time, even if it is no longer synchronized on the video, which may continue. When resuming continuous display (continue) (and even if the audio output is cut off), it is necessary to restart the video decoding process, wait until the video is resynchronized to the audio and finally restore the video display. But at the time the video decoding process is restarted, it deletes the data of the previous “frozen” frame from memory: it is therefore necessary before restarting video decoding, to display a temporary black screen throughout the video-to-audio resynchronization phase, before restoring the video display. Yet the resynchronization phase may take several hundred milliseconds, during which the black screen is displayed and the user waits for the video service to restart.  
       [0007] During channel hopping (switching channel), the constraints are the same as for a freeze-frame command for the video part. Three significant differences distinguish channel hopping from Freeze/Continue:  
       [0008] first, during channel hopping, at the time that the latest decoded reference frame is frozen on the display, the output of the Audio Digital-to-Analog Converter (audio DAC) must be cut off and the audio decoding must be halted, whereas the audio decoding and playing may carry on in the case of the freeze/Continue command according to whether or not one wishes the audio to continue during the period of the freeze.  
       [0009] secondly, during channel hopping, there is by definition a change of service between the freezing of the video of the previous service and resumption on the new service, whereas the service remains the same in the case of the freeze/continue command;  
       [0010] thirdly, during channel hopping, the period separating freezing the video from restarting the video is directly linked to the channel hopping time, which may vary, whereas it is under the control of the user or of the application part in the case of the freeze/Continue command.  
       [0011] But apart from these three differences, the problem arises of the black screen during the-video-to-audio resynchronization phase, when restarting on the next service, in the same way both in the case of channel hopping and in the case of freeze/Continue.  
       SUMMARY OF THE INVENTION  
       [0012] The invention therefore relates to a method for generating a video signal to be displayed applicable in a decoder intended for continuously receiving video/audio information, decoding it and outputting it as the video signal to be displayed. Such a decoder includes at least a video frame display memory or video plane and a fixed frame display memory or still plane separate from the video plane, the video and still planes being capable of being activated or deactivated independently of each other. This method provides that, under a special command such as a freeze-frame (freeze) or channel switching (channel hopping) command, the latest frame received is recorded in the said still plane then the display of the still plane is activated and the display of the video plane is deactivated, which enables elimination of the display of an intermediate black screen usually displayed during the audio/video synchronization phase at the time of a special command.  
       [0013] Before recording in the still plane, the method of the invention may provide the following steps:  
       [0014] a. the transfer of the latest frame (In) of the Intra or I type (according to the MPEG standard) being received to a control microprocessor memory of the decoder;  
       [0015] b. Software decoding of the said latest frame by the microprocessor.  
       [0016] After the transfer of the latest frame to the microprocessor memory, the audio and video decoding can be halted and an operation consisting in cutting off the sound can be provided.  
       [0017] Equally, the special command may trigger the halting of the audio/video decoding and the cutting off of the sound. The latest decoded frame is frozen in the video plane and is transferred from the video plane to the still plane and displayed in the still plane, the audio and video decoding then being restarted.  
       [0018] During the decoder&#39;s return to normal operation, i.e. under a play resume command, the video plane is reactivated, the still plane is deactivated and the video is displayed continuously once again in the video plane in synchronization with the audio.  
       [0019] Furthermore, during the time that the frame is frozen in the still plane, the audio and video decoding processes having been restarted, audio and video are resynchronized, then the video plane is reactivated, the still plane is deactivated and the audio output is restored. 
     
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
     [0020] The various objects and characteristics of the invention will appear more clearly from the disclosure that follows by way of a non-restrictive example, and in the illustrative figures:  
     [0021]FIGS. 1 a  and  1   b,  timing diagrams illustrating an example of embodiment of the method of display according to the invention initiated by the user, FIG. 1 a  relating to a freeze-frame (freeze) command and FIG. 1 b  relating to a reception channel change (channel hopping) command;  
     [0022]FIGS. 2 a  and  2   b,  timing diagrams illustrating an example of a variant embodiment of the method of display according to the invention initiated in FIG. 2 a  by a freeze-frame (freeze) command and, in FIG. 2 b , by a reception channel change (channel hopping) command. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
     [0023] A video decoder includes for display a video memory or video plane for temporarily recording the video information with a view to its display, a frame memory or frame plane for temporarily recording fixed frames to be displayed, a graphics memory or graphics plane for recording graphic or alphanumeric information to be displayed according to the operating options of the decoder.  
     [0024] Generally speaking, when the user issues a special command for the purpose of changing the normal operation of the decoder, such as a freeze-frame followed by a frame resumption command (freeze), or a channel change (channel hopping) command, the invention method provides for recording the latest frame being received in a temporary memory to enable this latest frame to be displayed on a display screen. For example, in a low-cost decoder, the frame plane is provided but is not used in many cases. This temporary memory may then be the frame plane of the decoder.  
     [0025] It will be noted that the (still) frame plane and the video plane of the decoder can be activated or deactivated independently of each other in the display.  
     [0026] Referring to the timing diagram in FIG. 1 a,  an example of embodiment of the invention method will be disclosed, applied first of all to the processing of a pause (freeze) command initiated by the user.  
     [0027] Row A 1   a  depicts the filling process, by the demultiplexer, of a buffer memory, called a “rate buffer” in the art and intended to contain the audio and video data before decompression.  
     [0028] Row B 1   a  depicts the video decoding hardware process.  
     [0029] Row C 1   a  depicts the video display hardware process.  
     [0030] Row D 1   a  depicts a software process according to the invention for decoding the latest frame and placing it in temporary memory, in the frame plane for example.  
     [0031] The decoder is assumed to receive a continuous video sequence. It is in the process of receiving a frame In (step ET 1 ) in FIG. 1 a.  The video frame In is in the process of detection in the MPEG encoded video stream coming from the demultiplexer and the frame In is captured “on the fly” in the rate buffer ahead in phase with respect to the video decoding process. During this step, as shown in row C 1   a,  the pause is ordered (freeze).  
     [0032] During step ET 2 , the captured frame In, which is of the Intra or I type according to the MPEG standard, is transferred from the rate buffer to the RAM memory of the decoder&#39;s CPU control unit.  
     [0033] During step ET 3  the frame In captured in CPU RAM memory is decoded to a special format known under the designation of YUV  420  format.  
     [0034] During step ET 4 , the decoded frame In is recorded in the frame plane referred to as the still plane in the figures and in the rest of the disclosure.  
     [0035] During step ET 5 , the still plane is activated and the Video plane is deactivated, which means that the contents of the still plane are displayed on the display monitor of the user, who ceases to view the video and who sees the fixed frame In on his screen instead. It should be noted that the frame In appears frozen in the still plane. During this time, the decoding and playing of MPEG audio continues in synchronization.  
     [0036] In some cases of operation, it is possible that the frozen frame In appearing on the screen does not correspond to the latest video frame displayed, since the video decoding and display processes have continued in parallel in video memory. But as the processing time of the frame In in CPU memory is less than the duration (12*40 ms=480 ms) of a packet of frames called a GOP (Group Of Pictures) in the MPEG standard, the frozen frame In displayed will, in fact, temporarily be the frame preceding the latest frame I displayed by the video decoder (shown as In+1 in FIG. 1 a ), and the difference between the two frames should not be perceptible to the user in most instances.  
     [0037] During step ET 6 , the normal operation of the decoder is ordered by the user. The video plane is activated once again. At the time that the video sequence resumes playing in continuous operation, the display of the video plane is reactivated: the video reappears immediately and is still synchronized with the audio.  
     [0038] In addition, the still plane is deactivated.  
     [0039] Referring to FIG. 1 b,  we shall go on now to disclose an example of the method according to the invention similar to that in FIG. 1 a  applied to channel switching or channel hopping. Rows A 1   b  to D 1   b  of the timing diagram in FIG. 1 b  have the same meanings as rows A 1   a  to D 1   a  in FIG. 1 a.    
     [0040] During step ET&#39; 1  (FIG. 1 b ), as previously during step ET 1  in FIG. 1 a,  the decoder is assumed to receive a continuous video sequence. It is in the process of receiving a frame In. The video frame In is in the process of detection in the MPEG encoded video stream coming from the demultiplexer and the frame In is captured “on the fly” in the rate buffer ahead in phase with respect to the video decoding process. During this step, as shown in row C 1   b,  channel hopping is ordered.  
     [0041] During step ET&#39; 2 , the captured frame In is transferred from the rate buffer to the RAM memory of the decoder&#39;s CPU control unit.  
     [0042] During step ET&#39; 3 , at the end of transferring the frame I to the RAM memory, the audio and video decoders are halted. In addition, the output of the audio digital-to-analog converter (audio DAC) is cut off. The frame In is then frozen in the video plane.  
     [0043] During step ET&#39; 4 , the frame In (which is of the Intra or I type according to the MPEG standard) is in RAM memory and is software decoded (into the YUV  420  format).  
     [0044] During step ET&#39; 5 , the decoded frame In is recorded in the still plane.  
     [0045] During step ET&#39; 6 , the frame (still) plane is activated and the Video plane is deactivated, which means that the contents of the frame (still) plane are displayed on the display monitor of the user, who ceases to view the video and who sees the fixed frame In on his screen instead. It should be noted that the frame In appears frozen in the still plane.  
     [0046] During this time, after the tuner/demodulator assembly has been adjusted to the frequency of the multiplex on which the new service called up by the user in his channel hopping is broadcast, and the demultiplexer has demultiplexed all the packet identifiers (known in the MPEG standard as PIDS) of the new service and after acquisition of the EMMs or Entitlement Management Messages, the audio and video decoders are restarted. Audio and video enter the resynchronization phase on the new service.  
     [0047] In some cases of operation, it is possible that the frozen frame In appearing Qn the screen does not correspond to the latest video frame displayed, since the video decoding and display processes have continued in parallel in video memory. But as previously, the displayed frozen frame In will, in fact, temporarily be the frame I preceding the latest frame displayed by the video decoder, and the difference between the two should not be perceptible to the user.  
     [0048] During step ET&#39; 7 , the channel hopping command by the user being completed, the audio and video of the new service requested by the user being synchronized, the video plane is again activated and the output of the audio digital-to-analog converter (audio DAC) is restored. The display of the video plane is reactivated: the video reappears immediately in synchronization with the audio.  
     [0049] In addition, the still plane is deactivated. The system is once more in its initial operating state.  
     [0050] In the method example that has just been disclosed, provision has therefore been made for software processing of the latest frame captured at the time of initiating the freeze or channel hopping. We shall now go on to disclose another example of embodiment of the method according to which, at the time of special initiation (freeze, channel hopping, etc.), the video decoder is immediately halted and the latest frame being captured is frozen in the video plane.  
     [0051] As previously, we shall disclose the operation of the method first of all when it is initiated by a freeze command (FIG. 2 a  ) then by a channel hop (FIG. 2 b  ).  
     [0052]FIGS. 2 a  and  2   b  show timing diagrams of operations. Rows A 2   a  and A 2   b  depict the hardware processes of video decoding and rows B 2   a  and B 2   b , the software processing performed on the latest captured frame In recorded in CPU RAM.  
     [0053] In FIG. 2 a  we see that, when the video freeze is initiated by the user, the video decoder is halted and the latest decoded frame In is frozen on the display in the video plane (step ST 1 ).  
     [0054] Step ST 1  leads to step ST 2  during which the decoded frame In is transferred into the frame plane (still plane).  
     [0055] The frame plane is activated during step ST 3 .  
     [0056] Almost simultaneously, during step ST 4 , the video plane is deactivated and the frame In is displayed as a fixed frame on the user&#39;s screen. In addition, the video plane is restarted. Thus, the video decoder is only halted for a very short time and the accumulated delay between audio and video is therefore small. Subsequently, the time the video decoder takes to resynchronize to the audio (step ST 5 ) is also very brief, as can be seen in FIG. 2 a . During this time the frame In is still displayed as a fixed frame on the screen.  
     [0057] During step ST 6 , the video and audio being synchronized, the video plane is activated once again: continuous video reappears immediately and is synchronized with the audio.  
     [0058] Finally, (step ST 7 ) the frame plane is deactivated. The system is again in its original state of normal video viewing.  
     [0059] Referring to FIG. 2 b , we shall now go on to disclose this variant embodiment of the invention method when it is initiated by channel switching or channel hopping.  
     [0060] When channel hopping is initiated by the user, video freeze is initiated. During step ST&#39; 1 , the video and audio are halted and the audio cut off (cut-off of the audio digital-to-analog decoder DAC): the latest decoded reference frame In is frozen on the display in the video plane.  
     [0061] During step ST&#39; 2 , the decoded frame In is transferred in DMA into the still plane.  
     [0062] The still plane is activated during step ST&#39; 3 .  
     [0063] The Video plane is deactivated during step ST&#39; 4 : the frame In then appears frozen in the still plane, the frame In is displayed as a fixed frame on the user&#39;s screen.  
     [0064] During this time, after the tuner and the demodulator have been adjusted to the frequency of the multiplex on which the new service requested by the user is broadcast and the demultiplexer has demultiplexed all the PIDS of the new service (after acquisition of the EMMs), the audio and video decoders are restarted (step ST&#39; 5 ). Audio and video enter the resynchronization phase on the new service.  
     [0065] At the end of channel hopping, i.e. the moment the audio and the video plane are activated and the audio is restored (restoration of the audio DAC): the audio and video of the new service appear simultaneously and are synchronized. The video of the new service appears continuously on the user&#39;s screen.  
     [0066] The still plane is deactivated.  
     [0067] The examples of embodiment of the invention method previously disclosed can thus be used at the time of a special command (freeze, channel hopping) by the user for preventing the display of a black screen usually displayed during the audio/video synchronization phase during channel hopping or a freeze-frame followed by a frame continue.