# Patent

## Title
AV synchronization system

## Abstract

In synchronization of a conventional AV system, when a stream as the master stops, a system clock cannot be corrected for synchronization. Since the correction is consistently performed even when an error is small, overhead of correction is large. On the other hand, when an error is large, sharp correction causes a feeling that something wrong. In the present invention, when the stream as the master stops, previously registering the degree of priority regarding the master, consideration of a corrected period or a previous error for the system clock, or transmitting a stream containing information regarding the master can allow for other process to serves as the master. Accordingly, it is possible to provide a method for synchronization with maintaining correction of the system clock. When a corrected error is large, gradual correction or reference can provide a system with normal feeling. Furthermore, when an error of correction is small, omission of correction or reference can provide a system with less overhead.

## Background
RELATED APPLICATIONS
This application is a continuation of application Ser. No. 10/847,302, filed on May 18, 2004 now U.S. Pat. No. 7,176,978, which in turn claims the benefit of Japanese Patent Application No. 2003-355064, filed on Oct. 15, 2003, the disclosures of which Applications are incorporated by reference herein.


FIELD OF THE INVENTION
The present invention relates to an AV synchronization system, which decompresses digital-compressed audio (sound) data, video (image) data, text data, still-image data, or the like, to reproduce them with being synchronized with each other.
BACKGROUND OF THE INVENTION
Recently, according to upgrading of information infrastructure and the progress in multimedia technology, an AV synchronization system, which reads an AV stream through various transmission lines and media, and reproduces it, is desired and becomes commercial.
Some systems uses a stable line such as a digital broadcast, and other systems read a stream through an unstable line, where a transmission rate varies according to the degree of line congestions, such as internet and wireless LAN.
In addition, in a home PC (personal computer), software capable of editing streams becomes commercial, and various stream data can be created personally.
In a method for synchronization in a conventional AV synchronization reproduction apparatus, when processing a plurality kinds of data such as audio data, video data, in parallel, one process corresponding to one kind of the data serves as the master, and its output timing is used as reference timing so that the other kinds of data are provided with synchronized with the reference timing.
Since audio stop causes a feeling that something is wrong, in order to synchronize between audio and video, an audio processing serves as the master, and a system clock is corrected based on timing information of audio taken from the stream, as disclosed in Japanese Laid-Opened Publication KOKAI No. HEI 7-303240, for example. In video reproduction, the system clock is compared with the timing information taken from the video stream. In order to perform synchronization, when the video leads, video reproduction stops to adjust timing, on the other hand, when video delays, video reproduction accelerates.
FIG. 18 is a chart showing a flow of conventional synchronization processing in the case that a stream containing audio, video, text and a still-image is reproduced based on the audio master. In FIG. 18, numerals 201, 202, 203, 204, and 205 represent a clock process, an audio process, a video process, a text process, and a still-image process, respectively. Thick lines represent the clock process, and the audio process 202 as the master.
In the case of the audio master, timing information PTS (Presentation Time Stamps) is taken from a stream to reproduce, and audio is provided based on the timing of a clock 201 subjected to correction 206. The others, the video process 203, the text process 204, and the still picture process 205 are performed based on this clock as reference 207. For example, in the case of the video process 203, its timing information in a stream is taken from the video stream, and the video is provided at the same time with the referenced clock 201 to synchronize. An upward arrow directing toward the clock represents correction of clock. A downward arrow drawn from the clock represents reference of clock.
FIG. 19 is a chart showing operation in a conventional system in the case that the audio data stops in the audio master. After that, since a conventional system remains the audio master, the timing information PTS cannot be taken from the audio. As a result, the clock cannot be corrected, therefore, the video process, the text process, and the still picture process are continued being performed without being synchronized after the stop.
In a conventional method, since the master is consistently fixed, reference time cannot be obtained, when the audio data stops caused by trouble of a transmission line, or when the audio data is exhausted at a midpoint during edition of a stream, in reproduction in the case of the audio master, for example.
In addition, when an error of clock is extremely large, correction causes a large image skip, sound skip, or the like.
Additionally, even when an error of clock is small, since the correction and reference are consistently performed, this causes additional overhead.
SUMMARY OF THE INVENTION
Therefore, it is a primary object of the present invention to provide an AV synchronization system capable of maintaining proper synchronization between a plurality of streams even when the master stream stops or completes. It is another object of the present invention to prevent a large image skip, sound skip, or the like, and to reduce overhead.
To achieve the above object, in one aspect of the invention, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a plurality of time information managing portions for acquiring time information from the decoded stream, correcting the system clock based upon the time information when a master correcting the system clock is registered, and switching one time information managing portion in charge of the stream process of the master into another time information managing portion when a stream process of the master stops.
Accordingly, changing a process of the master can maintain synchronization even when the stream process of the master stops.
In the present invention, the following constructions for changing a process corresponding to the master can be used.
1). The master registered in the time information managing portion includes the degree of priority, and when the stream process in the time information managing portion with the highest degree of priority stops, the time information managing portion is switched into another time information managing portion with the next highest degree of priority. In this case, it is possible to maintain proper synchronization between a plurality of streams with optimizing a stream corresponding to the highest degree of priority.
2). When the stream process of the master in the time information managing portion stops, the time information managing portion is switched into another time information managing portion acquiring the time information from the stream at the earliest time. In this case, it is possible to correct a clock at the earliest time irrelevant of change of the master.
3). When the stream process of the master in the time information managing portion stops, the time information managing portion is switched into another time information managing portion acquiring the time information with the smallest period from the stream. In this case, it is possible to correct a clock at the earliest time irrelevant of change of the master.
4). When the stream process of the master in the time information managing portion stops, the time information managing portion is switched into another time information managing portion with the period corrected for the system clock closest to the time information managing portion. In this case, when the plurality of streams includes two kinds of audio streams, for example, it is possible to change other kinds of audio stream.
5). When the stream process of the master in the time information managing portion stops, the time information managing portion is switched into another time information managing portion with the smallest error to a previous system clock. In this case, a stream process with a small error serves as the master to maintain synchronization.
6). The multiplexed stream includes information of the degree of priority regarding a candidate of master in the stream process, when the stream process of the master in the time information managing portion with the highest degree of priority regarding a candidate of master stops, the time information managing portion is switched into another time information managing portion with the next highest degree of priority regarding a candidate of master. In this case, setting the degree of priority regarding a candidate of master can provide flexibility to arbitrarily select a process, which serves as the master.
In addition, an AV synchronization system according to the present invention comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams with instruction information containing whether the master correcting the system clock is or not are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a plurality of time information managing portions acquiring time information from the decoded stream, wherein one of the time information managing portion instructed as the master by the instruction information, serves as the master to correct the system clock, and when the time information managing portion is not instructed as the master, the time information managing portion is switched into another time information managing portion.
Accordingly, it is possible to change a process, which serves as the master, in any time when necessary, irrelevant of whether stop of a stream process of the master occurs or not. Therefore, optimized synchronization can be obtained.
Additionally, an AV synchronization system according to the present invention comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a plurality of time information managing portions acquiring time information from the decoded stream, wherein one of the time information managing portions registered as the master, serves as the master to corrects the system clock based on the time information, and when the stream is in a predetermined state registered previously such as silence, the time information managing portion is switched into another time information managing portion.
According to this construction, condition for changing the master can arbitrarily be specified, therefore, this can provide flexibility.
Moreover, an AV synchronization system according to the present invention comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a plurality of time information managing portions acquiring time information from the decoded stream, wherein one of the time information managing portions registered as the master, serves as the master to corrects the system clock based on the time information, and when reproduction speed varies such that the state changes from normal reproduction to fast forward reproduction, or rewind reproduction, the time information managing portion is switched into another time information managing portion.
According to this construction, it is possible to provide a user-friendly system with normal feeling, primarily based on video. The reason is that sound can be produced at the rate with being adjusted to reproduction condition of video.
In addition, it is preferable that, when the corrected error to the system clock is greater than a predetermined value, the time information managing portion corrects so that the corrected value becomes smaller. In this case, when the corrected error to the system clock is greater than a predetermined value, gradual correction can reduce negative influence on other devices caused by the correction.
Additionally, it is preferable that, when the error between the time information and the time information obtained by to another time information managing portion is greater than a predetermined value, the time information managing portion corrects so that the error gradually reduces. In this case, it is possible to reduce occurrence of problem, such as an image skip, caused by large correction.
It is preferable that, after the time information managing portion is switched into another time information managing portion to serve as the master as a result of the stop of the stream process of the master, when the stream recovers, the former time information managing portion serves as the master again. In this case, since the timing information acquired by the one of the timing information managing portions serves as the master again, suitable condition can be obtained.
It is preferable that, when the stream process of the master stops, the time information managing portion calculates a corrected value for the system clock based on a previous corrected value and continues performing correction for a while. In this case, when the stream recovers within a predetermined time, the process corresponding to the master can remain as the master. Thus, when the stream recovers relatively early, the process corresponding to the master can remain as the master. Accordingly, since correction of clock is performed based on an original process subsequently, this can improve stability of operation.
In addition, it is preferable that, when the stream process of the master stops, in consideration of a previous error for the system clock, when an error is grater than a reference value, the time information managing portion is switched into another time information managing portion to serve as the master, while when the error is less than the reference value, the time information managing portion is not switched to continue the stream processing for a while. In th is case, when a process as a master recovers within predetermined time, the process remains as a master. Even if the stream process corresponding to the master stops, when the stream recovers relatively early, the process corresponding to the master can remain as the master. Accordingly, since an original process continues subsequently, this can improve stability of operation.
It is preferable that, in consideration of an average error of previous corrected values for the system clock of the master, when an error is small, the time information managing portion omits a correction process so as to reduce overhead. In this case, reducing number of correction can reduce overhead in correction.
It is preferable that, when a previous average error of the system clock is small in a stream process other than the master, the time information managing portion omits a reference process so as to reduce overhead. In this case, reducing number of reference can reduce overhead in reference.
In another aspect of the invention, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, and correcting the system clock based upon the time information; wherein the time information managing portion regards the other one of the plurality of streams as a new master when a stream process of a stream regarded as an original master is stops, acquires new time information from the decoded stream regarded as the new master, and corrects the system clock based upon the new time information.
In the present invention, the following constructions for regarding other one of the plurality of streams as a new master can be used.
1).The time information managing portion manages information of the degree of priority regarding a candidate of master for each stream, and regards the other one of the plurality of streams, which has the highest degree of priority except for the stream regarded as the original master, as the new master when the stream process of the stream regarded as the original master stops.

2). When the stream process of the stream regarded as the original master stops, the time information managing portion regards the other one of the plurality of streams, which is able to be acquired time information at the earliest time except for the stream regarded as the master, as a new master.

3).When the stream process of the stream regarded as the master stops, the time information managing portion regards the other one of the plurality of streams, which is able to be acquired time information with the smallest period except for the stream regarded as the original master, as a new master.

4). When the stream process of the stream regarded as the original master stops, the time information managing portion regards the other one of the plurality of streams, which is able to be acquired time information that is able to correct the system clock with the closest period to the time information of the stream regarded as the original master, as a new master.

5). When the stream process of the stream regarded as the original master stops, the time information managing portion regards the other one of the plurality of streams, which is able to the acquired time information whose error to a previous system clock is smallest except for the stream regarded as the original master, as a new master.

6).The multiplexed stream includes information of the degree of priority regarding a candidate of master, and when the stream process of the stream regarded as the original master stops, the time information managing portion regards the other one of the plurality of streams, whose the degree of priority is highest except for the stream regarded as the original master, as a new master.

In addition, it is preferable that, after the time information managing portion regards the other one stream as the new master as a result of the stop of the stream process of the stream regarded as the original master, when the stream process of the stream regarded as the original master recovers, the time information managing portion regards the stream regarded as the original master as the master again.
It is preferable that, when the stream process of the stream regarded as the original master stops, the time information managing portion calculates a corrected value for the system clock based on a previous corrected value and continues performing correction for a predetermined period based on the calculated corrected value.
It is preferable that, when the stream process of the stream regarded as original the master stops, the time information managing portion regards the other one stream as the new master on condition that a previous error for system clock of the master is grater than a reference value, while calculates a corrected value for the system clock based on a previous corrected value and continues performing correction based on the calculated corrected value for a predetermined period on condition that a previous error for system clock of the master is less than a reference value.
In addition, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, and correcting the system clock based upon the time information; wherein the plurality of streams include instruction information containing whether the each of streams itself is or not the master, which varies currently, into each of the streams, and the time information managing portion regards a stream whose the instruction information indicates that the stream itself is the master currently as the master.
Additionally, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, and correcting the system clock based upon the time information; wherein when the stream regarded as an original master is in a predetermined state, the time information managing portion regards the other one of the plurality of streams as a new master.
In this AV synchronization system, the stream regarded as the original master can be audio stream and the predetermined state can be silent state.
Additionally, an AV synchronization system comprises: a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, and correcting the system clock based upon the time information; wherein when the reproduction speed of the multiplexed stream is other than normal reproduction speed, the time information managing portion regards the other one of the plurality of streams as a new master.
Additionally, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, and correcting the system clock based upon the time information; wherein when a corrected error value for the system clock based on the time information is greater than a predetermined value, the time information managing portion corrects the system clock so that the error between the time information of the stream regarded as the master and the system clock gradually reduces.
Additionally, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, correcting the system clock based upon the time information, and correcting an output of a stream other than the stream regarded as the master based upon the system clock; wherein when a corrected error value for the output of the stream other than the stream regarded as the master based on the system clock is greater than a predetermined value, the time information managing portion corrects the output of the stream other than the stream regarded as the master so that the error between the system clock and the output of the stream other than the stream regarded as the master gradually reduces.
Additionally, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, and correcting the system clock based upon the time information; wherein when an average value of previous corrected errors for the system clock based on the time information is less than a predetermined value, the time information managing portion omits the correction.
Moreover, an AV synchronization system comprises a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams; a plurality of buffers for temporarily storing each of the separated streams respectively; a plurality of decoding portions for decoding the stream stored in each of the buffers respectively; a data providing portion for providing the decoded data from the decoding portion with synchronized with a system clock; and a time information managing portion for regarding one of the plurality of streams as a master, acquiring time information from the decoded stream regarded as a master, correcting the system clock based upon the time information, and correcting an output of a stream other than the stream regarded as the master based upon the system clock; wherein when an average value of previous corrected errors for the output of the stream other than the stream regarded as the master based on the system clock is less than a predetermined value, the time information managing portion omits the correction for the output of the stream other than the stream regarded as the master.
As mentioned above, according to the present invention, when the stream process corresponding to the master stops, the timing information, which is acquired from other decoded stream, serves as the master, thus, it is possible to maintain proper synchronization between a plurality of streams. Further, in the case that an error of clock is large, gradual correction can reduce a sharp image skip, sound skip, and so on. Furthermore, in the case that an error of clock is small, omission of correction or reference can provide a system with less overhead.



BRIEF DESCRIPTION OF THE DRAWINGS
Other objects of the present invention will become apparent from the following detailed description and the appended claims. Furthermore, other advantages of the present invention will become apparent to those skilled in the art from the following detailed description.
FIG. 1 is a block diagram showing a construction of an AV synchronization system according to a concrete embodiment of the present invention;
FIG. 2 is a timing chart showing operation in the case that audio data stops in the audio master in a concrete embodiment of the present invention;
FIG. 3 is a timing chart showing a processing flow performed by a method, in which a process capable of correction at the next earliest time is changed as the master, when a stream process corresponding to the master stops, in a concrete embodiment;
FIG. 4 is a timing chart showing a processing flow performed by processing, in which a process with the smallest period is changed as the master, when the stream process corresponding to the master stops, in a concrete embodiment;
FIG. 5 is a timing chart showing a processing flow performed by a method, in which a process with the period corrected for the system clock closest to a process, which currently serves as the master, is changed as the master, when the stream process corresponding to the master stops, in a concrete embodiment;
FIG. 6 is a timing chart showing a processing flow performed by processing, in which a device with the smallest error between a system clock and a previous system clock taken from a stream, when the stream process corresponding to the master stops, in a concrete embodiment;
FIG. 7 is a timing chart showing a processing flow in the case that a stream, which includes information containing the degree of priority as a candidate of the master, is transmitted in a concrete embodiment of the present invention;
FIG. 8 is a timing chart showing a processing flow in the case that a stream, which includes information regarding a process to currently serve as the master, is transmitted, in a concrete embodiment of the present invention;
FIG. 9 is a timing chart showing a processing flow performed by processing, in which, when a process as the master falls within a predetermined condition, other process serves as the master, in a concrete embodiment;
FIG. 10 is a timing chart showing a processing flow performed by processing, in which, when reproduction speed varies caused by instruction of fast forward reproduction, or the like, other device serves as the master, in a concrete embodiment of the present invention;
FIG. 11 is a timing chart showing a processing flow, in which an error regarding a corrected value is gradually reduced when the error is greater than a predetermined value, in the case that a clock is corrected based on the master, in order to prevent a large image skip of other processing and so on, caused by sharp correction, in a concrete embodiment;
FIG. 12 is a timing chart showing a processing flow, in which, when an error to PTS is greater than a predetermined value with reference to a clock in a processes other than the master, the error is gradually reduced, in order to prevent a large image skip of other processing and so on, caused by sharp output correction, in a concrete embodiment;
FIG. 13 is a timing chart showing a processing flow in which a process corresponding to the original master serves as the master again when the process corresponding to the original master is performed again, after other processing serves as the master in the case that the process corresponding to the original master stops, in a concrete embodiment;
FIG. 14 is a timing chart showing a processing flow, in which correction is continued based on a process as the master by calculating based on a previous corrected value for a while when a process corresponding to the master stops, and other processing serves as the master when the process corresponding to the master does not recover, in a concrete embodiment;
FIG. 15 is a timing chart showing a processing flow, in which, when a stream process corresponding to the master stops, in consideration of a previous error of corrected value, when the previous error of corrected value is grater than a reference value, other process is changed as the master, while when the error is less than the reference value, the stream process corresponding to the master remain as the master without correction for a while, in a concrete embodiment;
FIG. 16 is a timing chart showing a processing flow, in which correction is omitted when an average error of corrected values in several times of previous correction, so as to reduce overhead, in the case that correction is performed based on a process as the master, in a concrete embodiment;
FIG. 17 is a timing chart showing a processing flow, in which reference is omitted when an error between reference values in the latest several times and PTS of a stream is small, in the case that each device other than the master references a clock, in a concrete embodiment;
FIG. 18 is a chart showing synchronization processing in the case that a stream containing audio, video, text and a still-image is reproduced based on the audio master, in a conventional art;
FIG. 19 is a timing chart showing operation in the case that audio data stops in the audio master in a conventional art.



DETAILED DESCRIPTION OF THE INVENTION
The following description will describe preferred concrete embodiments according to the present invention with reference to the drawings.
FIG. 1 shows a construction of an AV synchronization system according to a preferred embodiment 1 of the present invention. This AV synchronization system handles with a stream, which audio and video are multiplexed thereto.
In the AV synchronization system of this concrete example, a stream input portion 101 receives a stream and a multiplex separation portion 102 separates it into an audio stream and a video stream. The audio stream is supplied to an audio buffer 103 and the video stream is supplied to a video buffer 108. An audio decoding portion 104 decodes the audio stream. An audio time information management portion 105 takes time information PTS (Presentation Time Stamps) from the decoded stream, and corrects a system clock based on its timing in the case of the audio master.
The processed data is sent to an audio providing portion 106, and is produced as sound. A video decoding portion 109 decodes the video stream. A video time information management portion 110 takes time information PTS from the decoded video stream, and compared with the system clock. A video providing portion 111 provides it in the same timing.
FIG. 2 is a timing chart showing operation in the case that audio data stops in the audio master. Thick lines represent the clock process, and the audio process as the master. An upward arrow directing toward the clock represents correction of clock. A downward arrow drawn from the clock represents reference of clock. A dotted line represents a stop of audio data. When the audio data stops, a video process serves as the master. Accordingly, the timing information PTS can be taken from the stream in a video process. Thus, the clock can be corrected subsequently, and it is possible to maintain synchronization in the video master.
In this example, the degree of priority is previously registered by a function “Master_regist”. Audio is registered as the highest degree of priority, and video is registered as the second highest degree of priority. Accordingly, first, audio serves as the master, and video serves as the master when the audio stream stops.
FIG. 3 is a timing chart showing a processing flow performed by a method, in which a process capable of correction at the next earliest time is changed as the master, when a stream process corresponding to the master stops.
In an illustrated example, when the audio stream stops, a still-image process can acquire the timing information PTS at the earliest time. Accordingly, since the still-image process serves as the master, the clock can be corrected quickly, thus, it is possible to maintain synchronization.
FIG. 4 is a timing chart showing a processing flow performed by processing, in which a process with the smallest period is changed as the master, when the stream process corresponding to the master stops.
In an illustrated example, the video process has the smallest period. Accordingly, a video process serves as the master. Subsequently, the clock can be minutely corrected based on the video process, and it is possible to maintain synchronization.
FIG. 5 is a timing chart showing a processing flow performed by a method, in which a process with the period corrected for the system clock closest to a process, which currently serves as the master, is changed as the master, when the stream process corresponding to the master stops.
In the case of a two-channel broadcast such as a bilingual broadcast currently transmitted, retrieving other channel with the same period can cause audio 2 to serve as the master. Accordingly, the audio 2 serves as the master, it is possible to reproduce without a feeling that something wrong.
FIG. 6 is a timing chart showing a processing flow performed by processing, in which a device with the smallest error between a system clock and a previous system clock taken from a stream, when the stream process corresponding to the master stops. Accordingly, the clock can be corrected based on a text process, and it is possible to maintain synchronization.
In an illustrated example, the text process has the smallest previous error, and thus serves as the master.
FIG. 7 is a timing chart showing a processing flow in the case that a stream, which includes information containing the degree of priority as a candidate of the master, is transmitted. This can allow to change the degree of priority to perform according to the contents of a stream.
In an illustrated example, spare bits of a stream contain the priority of master, which represents first and second as the audio processes, third as the video process, and fourth priority as the text process. Thus, the audio 2 process as second priority serves as the master, when the audio 1 process as the first priority stops.
The following description will describe a method for switching a process, which serves as the master, irrelevant to a data stop in the process as a mater.
FIG. 8 is a timing chart showing a processing flow in the case that a stream, which includes information regarding a process to currently serve as the master, is transmitted.
Spare bits of a stream containing information of a current master are transmitted. In an illustrated example, the stream including information as audio 1 master is transmitted. Then, a process, which serves as the master, is changed from the audio 1 process to the audio 2 process by transmitting the steam including information as audio 2 master. The change is irrelevant to a stop of audio 1 master.
FIG. 9 is a timing chart showing a processing flow performed by processing, in which, when a process as the master falls within a predetermined condition, other process serves as the master.
In an illustrated example, silence in audio is registered as the condition. When the audio becomes silence, a video process automatically changes as the master. It is preferable that all video is reproduced and then the silent audio is adjusted rather than that all audio is produced and then the video is adjusted. The reason is that this can provide a user-friendly system with normal feeling. The change is irrelevant to a stop of audio master.
FIG. 10 is a timing chart showing a processing flow performed by processing, in which, when reproduction speed varies caused by instruction of fast forward reproduction, or the like, other device serves as the master.
Variation of reproduction speed is previously registered so that a video process changes as master. This can allow for the video process to serve as the master automatically when fast forward reproduction. Thus, video can be reproduced on a priority basis, whereby the video can be constantly displayed when fast forward reproduction. Accordingly, it is possible to achieve when fast forward reproduction with normal feeling. The change is irrelevant to a stop of audio master.
The following description will describe a method for correcting a clock.
FIG. 11 is a timing chart showing a processing flow, in which an error regarding a corrected value is gradually reduced when the error is greater than a predetermined value, in the case that a clock is corrected based on the master, in order to prevent a large image skip of other processing and so on, caused by sharp correction.
When a corrected error is greater than a certain value, the correction is revised within a certain rate of the error (in this case, 70%). This can reduce influence on other device caused by the correction.
FIG. 12 is a timing chart showing a processing flow, in which, when an error to PTS is greater than a predetermined value with reference to a clock in a processes other than the master, the error is gradually reduced, in order to prevent a large image skip of other processing and so on, caused by sharp output correction.
When a corrected error is greater than a certain value, image with a certain rate (in this case, 70%) of the timing information PTS is output. This can reduce an image skip.
The following description will describe the case that a process as the master recovers from its stop.
FIG. 13 is a timing chart showing a processing flow in which a process corresponding to the original master serves as the master again when the process corresponding to the original master is performed again, after other processing serves as the master in the case that the process corresponding to the original master stops.
In an illustrated example, in the case that an audio stream stops during operation of an audio process as the master, a video process serves as the master. While, the audio process serves as the master again after the audio stream recovers.
FIG. 14 is a timing chart showing a processing flow, in which correction is continued based on a process as the master by calculating based on a previous corrected value for a while when a process corresponding to the master stops, and other processing serves as the master when the process corresponding to the master does not recover.
In an illustrated example, after a stream stops in the audio 1 process, corrected values corresponding to two times is calculated, and then the correction is performed. However, a process as the master does not recover, thus, the audio 2 process serves as the master. When a process as the master recovers within predetermined time, the process remains as the master.
FIG. 15 is a timing chart showing a processing flow, in which, when a stream process corresponding to the master stops, in consideration of a previous error of corrected value, when the previous error of corrected value is grater than a reference value, other process is changed as the master, while when the error is less than the reference value, the stream process corresponding to the master remain as the master without correction for a while.
In an illustrated example, a threshold value is set as “10” to determine that an error of a previous corrected value is large. In this example, the value is smaller than the threshold value, thus, a process as the master remains as the master and keep processing for a while. However, the stream for the process as the master does not recover for a while, thus, other process serves as the master. When a process as the master recovers within predetermined time, the process remains as the master.
FIG. 16 is a timing chart showing a processing flow, in which correction is omitted when an average error of corrected values in several times of previous correction, so as to reduce overhead, in the case that correction is performed based on a process as the master. Dotted-line upward arrows represent omission of the correction.
In an illustrated example, the correction is omitted when an average error in previous two times is not more than 3. This can reduce overhead.
FIG. 17 is a timing chart showing a processing flow, in which reference is omitted when an error between reference values in the latest several times and PTS of a stream is small, in the case that each device other than the master references a clock. Dotted-line downward arrows represent omission of the reference.
In an illustrated example, an average of errors between the reference values and PTS in first time, and second time is small. Accordingly, next reference is omitted, and the text process provides the text with the same timing information PTS based on calculation of a clock value. This can reduce overhead of reference.
An AV synchronization system according to the present invention digital-decompresses a plurality of streams such as an audio stream, a video stream, and corrects a system clock by a stream process as the master. The AV synchronization system can preferably maintain synchronization even when a stream corresponding to a process as the master stops or completed in the case of reproduction, in which streams are synchronized with each other. In addition, it is advantageous to prevent an image skip, a sound skip, and so on, and to reduce overhead of correction and reference.
The present invention is described with concrete embodiments above. However, the conjunction or arrangement of the components according to the embodiments of the present invention may be embodied in other specific forms without departing from the spirit or the appended claims.

## Claims

1. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information.

2. The AV decoding system according to claim 1, wherein when the time information managing portion fail to acquire time information from the decoded first stream, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information.

3. The AV decoding system according to claim 1, wherein when the decoded first stream stops, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information.

4. The AV decoding system according to claim 1, wherein when the decoded first stream is exhausted, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information.

5. The AV decoding system according to claim 1, wherein when the decoded first stream is broken, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information.

6. The AV decoding system according to claim 1, wherein when the first stream included in the multiplexed stream inputted to the a multi-separating portion is exhausted, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information.

7. The AV decoding system according to claim 1, wherein the time information managing portion switches the decoded stream from which the time information managing portion acquires time information among the decoded streams.

8. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information,
wherein the time information managing portion switches the decoded stream from which the time information managing portion acquires time information among the decoded streams, and
wherein when the time information managing portion fail to acquire time information from the decoded first stream, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information, and after the time information managing portion switches the decoded first stream into the decoded second stream as the decoded stream from which the time information managing portion acquires time information as a result of failing to acquire time information from the decoded first stream, when time information from the decoded first stream becomes available to the time information managing portion, the time information managing portion switches the decoded second stream to the decoded first stream as the decoded stream from which the time information managing portion acquires time information.

9. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information,
wherein the time information managing portion switches the decoded stream from which the time information managing portion acquires time information among the decoded streams, and
wherein when the decoded first stream stops, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information, and after the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information as a result of stop of the decoded first stream, when the decoded first stream recovers, the time information managing portion switches the decoded second stream to the decoded first stream as the decoded stream from which the time information managing portion acquires time information.

10. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information,
wherein the time information managing portion switches the decoded stream from which the time information managing portion acquires time information among the decoded streams, and
wherein when the decoded first stream is exhausted, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information, and after the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information as a result of exhaustion of the first decoded stream, when the decoded first stream recovers, the time information managing portion switches the decoded second stream to the decoded first stream as the decoded stream from which the time information managing portion acquires time information.

11. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information,
wherein the time information managing portion switches the decoded stream from which the time information managing portion acquires time information among the decoded streams, and
wherein when the decoded first stream is broken, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information, and after the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information as a result of break of the decoded first stream, when the decoded first stream recovers, the time information managing portion switches the decoded second stream to the decoded first stream as the decoded stream from which the time information managing portion acquires time information.

12. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information,
wherein the time information managing portion switches the decoded stream from which the time information managing portion acquires time information among the decoded streams, and
wherein when the first stream included in the multiplexed stream inputted to the a multi-separating portion is exhausted, the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information, and after the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information as a result of exhaustion of the first stream, when the first stream recovers, the time information managing portion switches the decoded second stream to the decoded first stream as the decoded stream from which the time information managing portion acquires time information.

13. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information, and
wherein the first stream is an audio stream and the second stream is a video stream.

14. An AV decoding system comprising:
a multi-separating portion for separating a multiplexed stream, in which a plurality of streams are multiplexed, into each of the streams including a first stream and a second stream;
a decoding portion for decoding the streams including the first stream and the second stream,
a data providing portion for providing decoded data from the decoding portion with synchronized with a system clock; and
a time information managing portion for acquiring time information from the decoded streams, and correcting the system clock based upon the acquired time information,
wherein the time information managing portion switches the decoded first stream to the decoded second stream as the decoded stream from which the time information managing portion acquires time information,
wherein the time information managing portion switches the decoded stream from which the time information managing portion acquires time information among the decoded streams, and
wherein the first stream is an audio stream and the second stream is a video stream.

15. An AV decoding system comprising:
a multiplexed stream inputting portion for inputting a multiplexed stream including an audio stream and a video stream, and
a data outputting portion for outputting audio data produced based on the audio stream and video data produced based on the video stream, wherein the outputting portion outputs the audio data and the video data according to time information included in the audio stream and time information included in the video stream alternatively,
wherein when the time information included in the audio stream is skipped from a first point to a second point, outputted video data from the outputting portion is skipped from a point corresponding to the first point of the time information included in the audio stream to a point corresponding to the second point of the time information included in the audio stream.

16. An AV decoding system comprising:
a multiplexed stream inputting portion for inputting a multiplexed stream including an audio stream and a video stream, and
a data outputting portion for outputting audio data produced based on the audio stream and video data produced based on the video stream, wherein the outputting portion outputs the audio data and the video data according to time information included in the audio stream and time information included in the video stream alternatively,
wherein the outputting portion outputs text data in addition to the audio data and the video data, and
while the outputting portion outputs the text data according to the time information included in the audio stream, when the time information included in the audio stream is skipped from a first point to a second point, the text data outputted from the outputting portion is skipped from a point corresponding to the first point of the time information included in the audio stream to a point corresponding to the second point of the time information included in the audio stream, and
while the outputting portion outputs the text data according to the time information included in the video stream, when the time information included in the video stream is skipped from a third point to a fourth point, the text data outputted from the outputting portion is skipped from a point corresponding to the third point of the time information included in the video stream to a point corresponding to the fourth point of the time information included in the video stream.

17. An AV decoding system comprising:
a multiplexed stream inputting portion for inputting a multiplexed stream including an audio stream and a video stream, and
a data outputting portion for outputting audio data produced based on the audio stream and video data produced based on the video stream, wherein the outputting portion outputs the audio data and the video data according to time information included in the audio stream and time information included in the video stream alternatively,
wherein while the audio stream included in the multiplexed stream exists, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream, and
when the audio stream included in the multiplexed stream is exhausted, the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream.

18. The AV decoding system according to claim 17, wherein while the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream as a result of exhaustion of the audio stream included in the multiplexed stream, when the audio stream included in the multiplexed stream is restored, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream.

19. An AV decoding system comprising:
a multiplexed stream inputting portion for inputting a multiplexed stream including an audio stream and a video stream, and
a data outputting portion for outputting audio data produced based on the audio stream and video data produced based on the video stream, wherein the outputting portion outputs the audio data and the video data according to time information included in the audio stream and time information included in the video stream alternatively,
wherein while the audio stream included in the multiplexed stream exists, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream, and
when the audio stream included in the multiplexed stream is stops, the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream.

20. The AV decoding system according to claim 19, wherein while the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream as a result of stop of the audio stream included in the multiplexed stream, when the audio stream included in the multiplexed stream is restored, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream.

21. An AV decoding system comprising:
a multiplexed stream inputting portion for inputting a multiplexed stream including an audio stream and a video stream, and
a data outputting portion for outputting audio data produced based on the audio stream and video data produced based on the video stream, wherein the outputting portion outputs the audio data and the video data according to time information included in the audio stream and time information included in the video stream alternatively,
wherein while the audio stream included in the multiplexed stream exists, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream, and
when the audio stream included in the multiplexed stream is broken, the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream.

22. The AV decoding system according to claim 21, wherein while the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream as a result of break of the audio stream included in the multiplexed stream, when the audio stream included in the multiplexed stream is restored, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream.

23. An AV decoding system comprising:
a multiplexed stream inputting portion for inputting a multiplexed stream including an audio stream and a video stream, and
a data outputting portion for outputting audio data produced based on the audio stream and video data produced based on the video stream, wherein the outputting portion outputs the audio data and the video data according to time information included in the audio stream and time information included in the video stream alternatively,
wherein while the audio stream included in the multiplexed stream exists, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream, and
when the time information included in audio stream is unavailable, the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream.

24. The AV decoding system according to claim 23, wherein while the outputting portion outputs the video data produced based on the video stream according to time information included in the video stream as a result of unavailability of the audio stream included in the multiplexed stream, when the time information included in audio stream is available, the outputting portion outputs the video data produced based on the video stream according to time information included in the audio stream.