[go: up one dir, main page]

MXPA00004884A - Apparatus and method for time stamping using modulo time base and time increment resolution - Google Patents

Apparatus and method for time stamping using modulo time base and time increment resolution

Info

Publication number
MXPA00004884A
MXPA00004884A MXPA/A/2000/004884A MXPA00004884A MXPA00004884A MX PA00004884 A MXPA00004884 A MX PA00004884A MX PA00004884 A MXPA00004884 A MX PA00004884A MX PA00004884 A MXPA00004884 A MX PA00004884A
Authority
MX
Mexico
Prior art keywords
time
time base
increment
vop
audio
Prior art date
Application number
MXPA/A/2000/004884A
Other languages
Spanish (es)
Inventor
Sheng Mei Shen
Thiow Keng Tan
Original Assignee
Matsushita Electric Ind Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Ind Co Ltd filed Critical Matsushita Electric Ind Co Ltd
Publication of MXPA00004884A publication Critical patent/MXPA00004884A/en

Links

Abstract

A time stamping apparatus uses modulo time base and time increment resolution for efficiently encoding a local time base for different video/audio sources embedded in the compressed data. The local time base is mainly encoded in two parts:a modulo time base that indicates the specific interval in the reference time base;and a time base increment relative to the referencetime. Two forms of time base increment are used to allow for the possibility of different encoding order and displaying order. A resolution for time base increment is introduced here to allow video/audio sources of different frame rates to be encoded and multiplexed into one bitstream. Also, bit saving is also obtained for some of the video frame rates. The parameter of time base increment resolution can be placed in the header of group of video object plane.

Description

APPARATUS AND METHOD FOR PRINTING THE DATE AND TIME, WHICH USE A MODULE TIME BASE AND THE RESOLUTION OF INCREASES OF TIME Technical Field The present invention relates to a method and apparatus for printing the date and time, which uses a module time base and the dynamic resolution of time increments. This invention is useful in the coded representation of audio and visual material, where the printing of the audio and video date and time is required.
Prior Art In the field of video processing, audio and visual data are recorded and then encoded, before being stored in a recording medium or before being transmitted through a transmission route. The stored or transmitted data is then decoded and reproduced. In order to reproduce the audio and visual data at normal speed, it is necessary to match the playback speed to the recording speed. For this purpose, during recording and during coding, the necessary time data is added. The aggregate of this time data is named as the date and time stamp. The printing of the date and time is useful because it allows synchronization of multiple audio and video streams for presentation. In video coding, the printing of the time of the video frames can also be used for interpolation purposes, as well as as movement compensation for the graduation of the motion vectors, according to the distance of the frame. This invention is particularly useful when the frame rate is not constant and can vary over a wide range with the same sequence. The idea of printing the date and time is not new. It has been used successfully in many applications, which are included in the layers of MPEG-1 and MPEG-2 standards systems. However, these time codes usually require the representation of a large number of bits. For example, in the case of MPEG-1 and MPEG-2 systems, time printing requires 33 bits. So far, in the MPEG-4 VM7.1, the base_module_module and VOP_ ie po_incremen or field are introduced to represent a local time basis together. The first, base_time_module, consists of the group of time bases that indicate the specific interval in the reference time base and the second, the VOP_increment_time, consists of the increment of the time base in relation to the reference time. Figures 1 and 2 show the concept of date and time printing using these two parameters, as the prior art of this invention. As shown in Figures 1 and 2, the base__time_module represents the local time base in a resolution unit of one second (1000 milliseconds). It is represented as a marker transmitted in the VOP header. The number of consecutive "1" followed by a "0" indicates the number of seconds elapsed since the synchronization point, marked by the base_time_module of the last i / P-VOPs displayed. There are two exceptions, one for the first I / P-VOP after the GOV header, and the other is for the B-VOP before (in the order of display) of the first I-VOP after the GOV header. For the first I / P-VOP after the GOV header, the base_time_module indicates the time relative to the code_time in the GOV header.
For the B-VOPs before (in the order of display) of the first I-VOP after the GOV header, the base_time_module indicates the time relative to the code_time in the GOV header. When the bit stream contains the B-VOPs, the decoder needs to store two base_time fields, one is indicated by the last I / P-VOP displayed or the GOV header and the other is indicated by the last decoded I / P-VOP . As shown in Figures 1 and 2, the VOP_increment_time represents the basis of local time in units of milliseconds. For i / P and B-VOP this value is the absolute VOP_time_increment from the synchronization point marked by the base_time_module. In Figure 1, the first VOP (B-VOP) in the order of display is located before the I-VOP, so its base_time refers to the code_time in the GOB header. The third VOP (B-VOP) is located in the distance of the period of 1 second, from the module_time_base indicated by the second VOP (I-VOP), so the module_time_base for the third VOP (B-VOP) will be "10" The fourth VOP (B-VOP) refers to the second VOP (I-VOP), the base_time_module for the fourth VOP (B-VOP) will be "10". The fifth VOP (P-VOP) refers to the second VOP (I-VOP), the base_time_module for the fifth VOP (P-VOP) will be "110". In Figure 2, the third VOP (I-VOP) in the order of display is located at the distance of the time period of 1 second from the code_time in the GOV header, the base_time_module for the third VOP (I-VOP) will be from 10". Since the fourth VOP (B-VOP) refers to the third VOP (I-VOP), the base_time_module for the fourth VOP (B-VOP) will be "0". To produce an image at a given time (according to the scheme of the display box), the simplest solution is to use the most recently decoded data of each VOP that is to be displayed. Another possibility, more complex and for non-real time applications, may be to interpolate each VOP from its two occurrences, which temporarily surround the needed moment, based on its temporal references. As shown in Figures 1 and 2, the VOP__increment_time has a resolution of milliseconds. There are several frame rates for different applications in the current industry, such as, 2976 Hz, 24 Hz, 25 Hz, 29.97 Hz, 30 Hz, 50 Hz, 59.97 Hz, 60 Hz, etc. For the frame rate of 25 Hz, the distance of time between the two frames is 40 ms (1000 ms / 25), and the time printing technique in the prior art can handle this frame rate. But the frame rate of 29.97 Hz, the distance of time between two frames will be 33.3667 ms (1000 ms / 29.97). Based on the prior art time printing technique, the VOP_increment_time can not represent such a number, since the VOP_increment_time is in units of milliseconds. If the resolution of the VOP_time_increment is a fixed value, like the one in the prior art, then it will not handle different frame rates. In applications involving computer graphics or synthetic video sources, there will be many kinds of frame rates that will be processed. Thus the problem that must be solved is how to encode the print of time in an efficient manner, as well as in a flexible way, so that a wide range of frame rates can be represented.Exposure of the Invention Based on the above analyzes, the main problem to be solved is to make the resolution of the VOP_tiempo_incremento a variable quantity, in order to handle many different kinds of frame regimes. This can be solved by introducing a new syntax element named the VOP_time_increment_resolution. This parameter can be placed in the GOV and / or the VOL layer, shown as in Table 1 and Table 2.
Table 1 Table 2 Table 1 shows the syntax of the group of the video object plane (VOB) and Table 2 shows the syntax for the VOP_time_increment_resolution in the layer VOL. In Table 1, the code_home group is the unique code of 32 bit length. Identifies the start of a GOV header. Likewise, the VOP_time_increment_ resolution is an unmarked integer indicating the resolution of the VOP_time_increment in terms of the number of synchronisms within a module time (one second in this case). The value of zero is forbidden.
Thus, the means of solving this problem is the division of the impression of time into two parts. The first part represents the approximate form of time imprinting, referred to as the basis of the module time. And the second part, the increment of time VOP represents the duration of time between two successive module time bases. Also, to solve the problem of being able to represent a wide range of frame rates, the resolution of the VOP time increment can be established dynamically by the transmission of a flag indicating the total number of synchronisms between two time bases of successive module. The VOP_increment_increment time introduced in this invention, together with the VOP_time_increment module_increment, can be operated for any frame rate: The VOP_time_increment_resolution gives the total number of synchronisms in a module time and the VOP_time_increment encodes the number of synchronisms that have elapsed since the last code of time marked by the last base_time_module. The time code of the VOP can be calculated by adding the time code in the current reference point, the number of elapsed seconds marked by the base_time_module and fractions of seconds elapsed given by the relation of the VOP_time_increment and the VOP_time_increment_resolution.
VOP timecode = code_time + base_time module + VOP_increment_time / VOP_increp_time? ento_resolution For example, in the above equation, the first term represents the time at a certain reference time point, the second term represents the number of seconds elapsed since the reference time point and the third term represents the amount of the decimal place of the second . The VOP_time_increment_resolution is placed in the GOV layer and / or the VOL layer, to indicate the corresponding resolution of different frame rates for different sources in different Video Groups. Then, the VOP_time_increment will represent the frame distance for different resolution, using different number of bits.
Brief Description of the Drawings Figure 1 is a time chart showing the method of printing date and time in the coding process. Figure 2 is a time chart showing the method of printing date and time in the coding process. Figure 3 is a time plot showing a date and time printing technique, according to the present invention, to represent the frame rate of 29.97 Hz. Figure 4 is a time chart showing the date and time printing technique, according to the present invention, to represent the frame rate of 25 Hz. Figure 5 is a time chart showing a fundamental operation of date and time printing.
Figure 6 is a block diagram, showing a bitstream encoder, to encode the Time Base, according to the present invention. Figure 7 is a block diagram, showing a bitstream decoder, for decoding the Time Base, according to the present invention. Figure 8 is a flowchart, showing the operation of the bitstream encoder of Figure 6. Figure 9 is a block diagram, showing a mode of the time increment resolution encoder of the VOP, shown in Figure 6.
The Best Mode for Carrying Out the Invention The preferred embodiment of the present invention involves an effective method for encoding the time base for each of individual bit streams of the video object plane, a method for dynamically adjusting the resolution for the coding of the time base for different video sources. Based on the prior art, shown in Figures 1 and 2, the base_time_module and the increment_time VOP have the same meaning, except that the VOP_increment_time in this invention has a variable resolution, which is indicated in the VOP_time_increase_resolution in the GOP layer. Figures 3 and 4 show the mechanism of representing the time base for different sources with different frame rates. In Figure 3, a video source, which has a frame rate (the number of frames that appear per 1 second) of 29.97 Hz, is displayed. In this case, the VOP_time_increment_resolution (the frame rate multiplied by 10n [n is a positive integer] to remove the decimal fraction) is 2997. In other words, when the frame rate of the video source is 29.97 Hz, that means there will be 29.97 frames that appear for every second. In order to accurately measure the period of a frame of this video source, it is necessary to use a synchronism signal, which has 2997 clock pulses (simply named as synchronisms) for one second. To count the number of such synchronisms in each second, a 12-bit data is necessary to represent a number between 9 and 2997. Such 12-bit data is placed in the GOV layer, particularly in the third row (VOP_time_increment) in the Table 1 or in the layer VOL, particularly in the fourth row (VOP_time_increment) in Table 2, with a data of 15 bits, which is an integer without marking, it is accommodated. In this case a period of one frame can be counted, counting 100 synchronisms. Thus the time period of 29 frames is equivalent to 2900 synchronisms. The order frame 30, which is the third frame P in Figure 3, ends when 97 synchronisms in the first module time is counted from the end of the 29-order frame, plus 3 additional synchronisms in the following module time. In Figure 4, a video source, which has a frame rate of 25 Hz is shown. In this case, the VOP_time_increment_resolution is 25. In order to accurately measure a period of one frame of this video source, it is necessary to use a synchronism signal, which has 25 synchronisms per one second. To count the number of such synchronisms in each second, a 5-bit data is necessary to represent a number between 0 and 25. Such a 5-bit data is placed in the GOV layer and / or the VOL layer in a similar manner, as It was described before. Thus, the VOP_increment_time only requires a 5-bit data to represent a number between 0 and 25. In this case, a period of one frame is just a period of synchronism, which corresponds to 40 ms. The 5-bit data is a very small size data compared to the 10-bit data used in the prior art. Thus, this scheme is very flexible and efficient to code the time base for different kinds of video sources with different frame rates. The base_time_module and the VOP_increment_time are placed in the VOP layer, shown as in Table 3. Table 3 Table 3 shows the syntax for the base_time_module and VOP_time_increment. In this invention, the VOP_time_increment represents the VOP_time_increment absolute of the synchronization point marked by the base_time_module, and measured by the number of synchronisms. You can take a value in the interval (between 0 and VOP_time_increment_resolution). The number of bits representing this value is calculated as the minimum number of bits required to represent the previous interval. The local time base in units of seconds is obtained by dividing this value by the VOP_time_increment_resolution. right away, the basic operation of the date and time printing will be described. Referring to Figure 5, an example of the steps for encoding the compressed data in the bitstream data is shown. As shown in the upper row in Figure 5, the VOPs of compressed video data are aligned in the order of display, II, Bl, B2, Pl, B3, P3 with a GOP header (group of frames) inserted in the start of the VOP group. While it is displayed, the local time, in which the exhibition is made, is measured for each VOP, using the local time synchronization. For example, the first frame (Il-VOP) is displayed in 1 hour 23 minutes 45 seconds, 350 milliseconds (1: 23: 45: 350) counted from the very beginning of the video data; the second frame (B1-V0P) is displayed in 1: 23: 45: 750; the third frame (B2-V0P) is displayed in 1: 23: 46: 150; etc. To encode the tables, it is necessary to insert the data of the exhibition time in each table. The insertion of the full-time data, which includes the hour, minutes, seconds and milliseconds, occupies a certain data space in the header portion of each frame. The object of the present invention is to reduce such data space and simplify the time data to be inserted in each frame (VOP). Each of the VOPs shown in the first row in Figure 5 is stored with the millisecond display time data in the VOP time increment area. Each of the VOPs in the first row is also temporarily stored with the time display data of hour, minutes and seconds. The GOP header is stored with the hours, minutes and seconds display data for the first VOP (Il-VOP). As shown in the second row in Figure 5, the VOPs are displayed for a predetermined time, using a temporary memory (not shown). When the VOPs are produced from this temporary memory, the order of the VOPs is changed, according to the bidirectional prediction rule, so that the bidirectional VOP, that is, the B-VOP, must be placed after the P-VOP , to which the B-VOP refers. Thus, the VOPs are aligned in the order of II, Pl, Bl, B2, P2, B3. As shown in the third row in Figure 5, at the TI time, ie when the GOP header is being encoded, the local time base recorder stores the hour, minute, seconds data as stored in the header GOP In the example shown in Figure 5, the local time base recorder stores 1: 23: 45. Then, before time T2, the bitstream data for the GOP header is obtained with the data of the hour, minutes , seconds being inserted, as shown in the background row in Figure 5. Next, at time T2, the first VOP (II-VOP) is taken. The time code comparator compares the time (hour, minutes, seconds) stored in the local time base register with the time (hour, minutes, seconds) temporarily stored in the first VOP (Il-VOP). According to the example, the result of the comparison is the same. Thus, the comparator produces "0", which indicates that the first VOP (I1-V0P) occurs in the same second as the second being retained in the local time base register. The resulting "0", as produced by the comparator, is added to the first VOP (II-VOP) in the time base area of the module. At the same time, the hour, minute and second data stored temporarily in the first VOP (II-VOP) are deleted. Thus, before time T3, the bitstream data for the first VOP (Il-VOP) is obtained with "0" inserted in the area of the time base of the module and "350" inserted in the area of the increment of the VOP time. Then, at time T3, the second VOP (Pl-VOP) is taken. The time code comparator compares the time (hour, minutes, seconds) stored in the local time base register with the time (hour, minutes, seconds) temporarily stored in the second VOP (Pl-VOP). According to the example, the result of the comparison is such that the time temporarily stored in the second VOP (Pl-VOP) is one second larger than the time stored in the local time base register. Thus, the comparator produces "10", which indicates that the second VOP (Pl-VOP) occurs in the next second to the second one held in the local time base recorder. If the second VOP (Pl-VOP) occurs at the instant after the next second to the second held in the local time base recorder, the comparator will produce "110". After time T3, the time base recorder of B-VOP adjusts to a time equal to the time taken in the local time base recorder, immediately before time T3. In the example, the time base recorder B-VOP is set to 1:23:45. Also, after time T3, the local time base recorder is increased to the time equal to that time temporarily stored in the second VOP (Pl-VOP). Thus, in the example, the local time base recorder is incremented to 1:23:46. The result of "10" as produced by the comparator is added to the second VOP (Pl-VOP) in the area of the time base of the module. At the same time, the hour, minute and second data, temporarily stored in the second VOP (Pl-VOP) is deleted. Thus, before the time T4, the data of the bit stream for the second VOP (Pl-VOP) is obtained with the "10" inserted in the module time base area and the "550" inserted in the area of the module. VOP time increase. Then, at time T4, the third VOP (Bl-VOP) is taken. The time code comparator compares the time (hour, minutes, seconds) stored in the time base recorder of B-VOP, with the time (hour, minutes seconds) temporarily stored in the third VOP (Bl-VOP). According to the example, the result of the comparison is the same. Thus, the comparator produces "0", which indicates that the third VOP (Bl-VOP) occurs in the same second as the second maintained in the B-VOP time base register. The result of "0", as produced by the comparator, is added to the third VOP (Bl-VOP) in the module's time base area. At the same time, the hour, minute and second data, temporarily stored in the first VOP (I1-V0P) are deleted. A) Yes,. before time T5, the data of the bitstream for the third VOP (331-VOP) is obtained with the "0" inserted in the time base area of the module and "750" inserted in the time increment area of VOP. Then, at time T5, the fourth VOP (B2-VOP) is taken. The time code comparator compares the time (hour, minutes, seconds) stored in the time base register B-VOP with the time (hour, minutes, seconds) temporarily stored in the fourth VOP (B2-V0P). According to the example, the result of the comparison is such that the time, temporarily stored in the fourth VOP (B2-V0P) is one second greater than the time stored in the time base register B-VOP. Thus, the comparator produces "10", which indicates that the fourth VOP (B2-VOP) occurs in the next second to the second one held in the time base recorder B-VOP. During the P-type VOP process, neither the local time base register nor the time base register B-VOP are increased, regardless of which result of the comparator occurs. The result of "10" as it is produced from the comparator is added to the fourth VOP (B2-V0P) in the area of the time base of the module. At the same time, the hour, minute and second data, temporarily stored in the fourth VOP (B21-VOP) are deleted. Thus, before the time T6, the data of the bitstream for the fourth VOP (B2-VOP) is obtained with the "10" inserted in the module time base area and the "150" inserted in the area of the module. VOP time increase. Then, at time T6, the fifth VOP (P2-VOP) is taken. The time code comparator compares the time (hour, minutes, seconds) stored in the local time base register with the time (hour, minutes seconds) temporarily stored in the fifth VOP (P2-VOP). According to the example, the result of the comparison is such that the time temporarily stored in the fifth VOP (P2-VOP) is one second greater than the time stored in the local time base register. Thus, the comparator produces "10", which indicates that the fifth VOP (P2-VOP) occurs in the second second to the second that is retained in the local time base recorder After time T6, the base recorder of time B-VOP is increased to time equal to the time taken at the local time base recorder, immediately before time T6. In the example, the B-VOP time base recorder is incremented to 1:23:46. Likewise, after time T6, the local time base register is incremented at time equal to the time temporarily stored in the fifth VOP (P2-VOP).
Thus, in the example, the local time base recorder is incremented to 1: 23.47. The result of "10" as produced by the comparator is added to the fifth VOP (P2-V0P) in the area of the time base of the module. At the same time, the hour, minute and second data, temporarily stored in the fifth VOP (P2-VOP) are deleted. Thus, before the time T4, the data of the bit stream for the fifth VOP (P2-VOP) is obtained with the "10" inserted in the module time base area and the "350" inserted in the area of the module. VOP time increase. Next, a similar operation is carried out to form the bitstream data for the following VOPs. To decode the data from the bit stream, an operation opposite to the previous one is carried out. First, the time (hour, minutes and seconds) carried in the GOP header is read. The reading time is stored in the local time base recorder. Upon receiving VOP type I or type P, that is, others in addition to the VOP type B, the data stored in the time base area of the module are read. If the read data is "0", ie without any 1 in front of the 0, no change is made in the local time base recorder, and no change is made in the base register of type of B-VOP . If the reading data is "10", the time stored in the local time base register is increased by one second. If the reading data is "110", the time stored in the local time base register is increased by two seconds. In this way, the number of seconds that must be increased is determined by the number of ones (1) inserted in the front of 0. Likewise, when the reading data is "10" or "110", the recorder B-VOP time base, which is a memory, copies the time in the local time base register just before the most recent increment. Then, the time (hour, minutes, seconds) carried in the local time base recorder is combined with the time (milliseconds) taken in the area of the VOP time increment, to establish a specific time in which type I or P type of VOP must occur. Upon receiving the type B VOP, the data stored in the module time base area is read. If the reading data is "0", the time (hour, minutes, seconds) carried in the B-VOP time base register is combined with the time (milliseconds) carried in the area of the VOP time increment, to establish a specific time in which Type B VOP must occur. If the reading data is "10", the time (hour, minutes, seconds) carried in the B-VOP time base register is added for one second, and then the resulting aggregate time is combined with the time (milliseconds) taken in the area of the VOP time increment, to establish a specific time, in which type B VOP must occur. If the reading data is "110", the time (hour, minutes, seconds) carried in the B-VOP time base recorder is added for two seconds, and then the resulting aggregate time is combined with the time ( milliseconds) carried in the area of VOP time increment, to establish a specific time in which type B VOP must occur. The description related to Figure 5 is already given in the prior PCT application of the present inventor, PCT / JP97 / 02319, which is incorporated herein by reference. Figure 6 shows the general block diagram for the operations of the bitstream encoder for encoding the time base. When the bitstream encoder boots, an initializer 51 initializes the local time base register to the initial value of the timecode. The same value of the time code is encoder in the bit stream. At the start of the next I-VOP coding, comparator 52 of the time code compares the time of presentation of the I-VOP against the local time base recorder. The results are passed to the encoder 53 of the time base of the module. This encoder 53 of the time base of the module will insert in the bitstream the required number of "1" equivalent to the number of increments of the module time base that has elapsed. This is then followed by the "0" symbol to signal the end of the module's time base code. The local time base recorder is updated to the current module time base. The process then goes to coder 54 of the VOP time base increment, where the rest of the I-VOP presentation time code is encoded. Based on the different video sources with different frame rates, the VOP time increment resolution coder 55 will place a number with 15 bits to indicate the resolution of the VOP_time_increment in terms of the number of synchronisms within a module time, by example, 2997 for the frame rate of 29.97 Hz. Based on the information provided by the VOP time increment coder 55, the number of bits that are necessary for the VOP time increment encoder 54 to represent the maximum number of synchronisms in a module time is defined . For example, 12 bits are required for the maximum number of 2997. The process is then repeated with the next encoded video object plane, which is the P-VOP. The comparator 52 of the time code compares the presentation time of the P-VOP against the local time base recorder. The result is passed to the encoder 53 of the time base of the module. The encoder 53 of the time base of the module will insert the required number of "1", equivalent to the number of the increment of the time base of the module that has elapsed. This is then followed by the "0" symbol to indicate the end of the module's time base code. The time base recorder of the B-VOP is adjusted to the value of the local time base recorder and the local time base recorder is updated to the time base of the current module. Then the process goes to the coder 54 of the VOP time base increment, where the rest of the presentation time code of the P-VOP is coded. The process is then repeated with the next coded video object plane, which is the B-VOP. The comparator 52 of the time code compares the time of presentation of the B-VOP against the local time base recorder. The result is passed to the encoder 53 of the time base of the module. The encoder 53 of the time base of the module will insert the required number of "1", equivalent to the number of the increment of the time base of the module that has elapsed. This is then followed by the "0" symbol, to indicate the end of the module's time base code. Both the B-VOP time base recorder and the local time base recorder do not change after the B-VOP process. The process then goes to the coder 54 of the VOP time base increment, where the rest of the code of the presentation time of the B-VOP is coded. The local time base recorder resets to the next I-VOP, which marks the start of the next VOP group. The resolution given in the VOP time increment resolution coder 55 will be the same within the same VOP group. Figure 7 shows the general block diagram to carry out the decoding for the time base of the module, the resolution of the time increment of the VOP, and the increase of the VOP time to recover the presentation of the date and time stamp . The decoding order is the same as the coding order, where the I-VOP is decoded followed by the P-VOP before the B-VOP. The process begins with an initializer 61, in which the recorder of the time base of the module is adjusted to the value of the decoded time code from the bit stream, the process then goes to the decoder 62 of the time base of the module, where the increment of the time base of the module is decoded. The total number of the time base increment of the decoded module is given by the number of the "1" decoded before the "0" symbol. A resolution decoder 64 of the VOP time increment decodes the resolution from the bit stream in the GOV header to the decoder 63 of the VOP time increment. Then the decoder 63 of the VOP time increment can obtain the corresponding time increment for the current VOP, decoding the number represented by the VOP_time_increment and being divided by the VOP_time_increment_resolution. In the calculator 65 of the time base, the presentation time of the I-VOP is recovered. The value of the increment of the time base of the module is added to the local time base recorder. The increase of the time base of the VOP divided by the resolution of the increase of the VOP time is then added to the local time base recorder to obtain the time of presentation of the I-VOP, that is, the time of presentation of the I-VOP = code_time + module_time_base + VOP_time_increment / VOP_time_increment_resolution.
The process then goes to the decoder 66 of the video object, where this video object is decoded.
For the P-VOP, the process is repeated in the decoder 62 of the time base of the module, where the increment of the time base of the module is decoded. The total number of the time base increment of the decoded module is given by the number of the "1" decoded before the "0" symbol. The VOP time increment resolution decoder 64 decodes the resolution of the bitstream in the GOV header, to pass to the decoder 63 of the VOP time increment. Then the decoder 63 of the VOP time increment can obtain the corresponding time increment for the current VOP by decoding the number represented by the V0P_increment_time and then divided by the VOP time increment resolution field. In the calculator 65 of the time base, the presentation time of the P-VOP is recovered. The time base recorder of the B-VOP module is adjusted to the value in the local time base recorder. The value of the time base increment of the total decoded module is added to the local time base recorder. The increase of the VOP time base divided by the resolution of the increment of the VOP time increase obtains the corresponding increase of the time for the current VOP by decoding the number represented by the VOP_increment_time and divided by the VOP_time_increment_resolution. In the calculator 65 of the time base, the presentation time of the B-VOP is recovered. The value of the increment of the time base of the total decoded module and the increase of the time base of the VOP divided by the VOP_time_increment_resolution, is added to the time base recorder of the B-VOP, to obtain the time of presentation of the B -VOP, that is, the presentation time of the B-VOP = code_time + module__time_base VOP_time_increment / VOP_time_increment_resolution. Both the time base recorder of the B-VOP module and the local time base recorder are left unchanged. The process then goes to the decoder 66 of the video object, where this video object is decoded. The local time base recorder resets to the next I-VOP, which marks the start of the next VOP group. The VOP time increment resolution decoder 64 will decode the resolution for the VOP time increment for the next VOP group. Figure 8 is a flow diagram showing the operation of the encoder of Figure 6, particularly the VOP time increment coder 54, the VOP time increment resolution coder 55. It is assumed that the frame rate X of the received video data is one of the different frame rates, such as 23.976 Hz, 24 Hz, 25 Hz, 29.9 Hz, 30 Hz, 50 Hz, 59.97 Hz, 60 Hz. At the beginning, the frame rate is detected. In step # 1, it is detected whether or not the frame rate has no decimal places. If this frame rate does not have decimal places, such as when it is any of 24, 25, 30, 50 and 60 Hz, the program goes to step # 2. to generate a synchronism with a frequency C, which is equal to the X frame rate. In step # 3, a synchronism is counted and in the next step # 13, a frame counter is incremented by 1. The count of a sync in step # 3 is equal to the count of a frame period. In step # 4, it is detected whether or not the X frame rate has a decimal place of the tenths. If this X frame rate has up to the decimal place of the tenths, the program goes to step # 5, to generate a synchronism with a frequency C, which is equal to ten times the frame rate X. In step # 6, ten synchronisms are counted, and in the next step # 13 a table counter is incremented by 1. The count of ten synchronisms in step # 6 is equal to the count of one frame period. In step # 7, it is detected whether or not the X-frame regime has up to the decimal place of hundredths. If this X-frame regime has up to the decimal place of the hundredths, such as when the frame rate X is either 29.97 Hz or 59.97 Hz, the program goes to step # 8, to generate a synchronism with a frequency C, which is equal to one hundred times the frame rate X. In step # 9, one hundred synchronisms are counted and in the next step # 13 a frame counter is incremented by 1. The count of one hundred synchronisms in step # 9 is equal to the count of a frame period. In step # 10, it is detected whether or not the frame rate has up to the decimal place of the thousandths. If the X-frame regime has up to the decimal place of the thousandths, such as when the X-frame rate is 23.976 Hz, the program goes to step # 11 to generate a synchronism with a frequency C, which is equal to one thousand. times the frame rate X. In step # 12, a thousand synchronisms are counted and in the next step # 13, a frame counter is incremented by 1. The count of one thousand synchronisms in step # 12 is equal to the count of the period of a painting. Referring to Figure 9, an example of the VOP time increment resolution coder 55 is shown. A first, second, third, fourth, fifth, sixth, seventh and eighth synchronization generators, 80, 81, 82, 83, 84, 85, 86 and 87 produce synchronisms respectively that have frequencies of 23976 Hz, 24 Hz, 25 Hz , 2997 Hz, 30 Hz, 50 Hz, 5997 Hz and 60 Hz. Synchronization generators 80, 81, 82, 83, 84, 85, 86 and 87 are connected to the terminals Ta, Tb, Te, Td, Te, Tf, Tg and Th, respectively, of the first switch 88. The Ti terminal of switch 88 is connected to a terminal Se of a second switch 89. This second switch 89 has a terminal Sa connected to a terminal Ra of a third switch. The second switch 89 has a terminal It is connected through a 10-meter 90 to a terminal Rb of the third switch 93. The second switch 89 has a terminal It is connected through a 100-counter 91, to a terminal Rc of the third switch 93. The second switch 89 has a terminal Sd connected through a 1000-counter 92, to a terminal Rd of the third switch 93. A terminal Re of the third switch 93 produces a signal corresponding to the period of one frame. When the input video source has a frame rate of 23976 Hz, the first switch 88 has its terminal Ti connected to the terminal Ta, the second switch 89 has its terminal Is connected to the terminal Sd and the third switch 93 has its terminal Re connected to the terminal Rd. Therefore, in the case where the frame rate is 23.976 Hz, a thousand clock synchronisms having a frequency of 23976 Hz are counted in the 1000-meter 92 to measure the period e a picture. After counting a thousand synchronisms, a signal representing the period of a frame is produced from the terminal Re of the third switch 93. When the input video source has a frame rate of 24 Hz, the first switch 88 has its Ti terminal connected to the terminal Tb, the second switch 89 has its terminal connected to the terminal Sa, and the third switch 93 has its terminal Re connected to the terminal Ra. Therefore, in the case where the frame rate is 24 Hz, a clock synchronism that has a frequency of 24 Hz is counted to measure the period of a frame. After counting a synchronism, a signal representing a period of one frame is produced from the terminal Re of the third switch 93. As will be understood from the foregoing, the first switch 88 is changed according to the frame rate of the source of the switch. input video, and the second and third switches, 89 and 93, are changed according to the number of decimal places, after the decimal point. In the second and third switches, 89 and 93, terminals Sa and Ra, respectively, are connected when the frame rate has no decimal places; the terminals Sb and Rb, respectively, are connected when the frame rate has up to the decimal place of the tenths; terminals Se and Rc, respectively, are connected when the frame rate has up to the decimal place of the hundredths; and the terminals Sd and Rd, respectively, are connected when the frame rate has up to the decimal place of the thousandths. When the circuit of Figure 9 is constructed by a computer, the counting of the synchronisms of 23976 Hz, 24 Hz, 25 Hz, 2997 Hz, 30 Hz, 50 Hz, 5997 Hz and 60 Hz, can be done by using 15-bit data, 5-bit data, 5-bit data, 12-bit data, 5-bit data, data 6-bit, 13-bit data, 6-bit data, respectively. In other words, in order to express the time code, 15-bit data is sufficient. It is also possible to adjust the number of bits required, according to different frame rates. The effect of this invention is to enable the planes of video objects of different video surfaces encoded by different encoders, to be multichannelized. It provides an effective and flexible date and time printing technique by synchronizing different video / audio sources with different frame rates. The use of the resolution of the increment of time makes possible the representation of the frames regimes that have periods of frames that are not whole numbers of milliseconds. The following table shows the frequently used frame rates, which can be represented.
Table 4 Table 4 shows a combination of the resolution of the increase in time and this increase in time, which can be used to represent regimes of frequently used frames. As is evident from Table 4, it is possible, in accordance with the present invention, to code the frame rates that are not possible in the prior art. The present disclosure relates to the subject matter contained in the Japanese Priority Patent Application No. HEI 10-362511, filed on December 21, 1998, the contents of which are hereby expressly incorporated by reference in their entirety.

Claims (20)

1. An apparatus for performing the coded representation of the presentation time of an audio-visual sequence with a dynamic range of the resolution of the time base, this apparatus comprises: an element for obtaining the cases of the audio-visual sequence by the temporal sampling; an element for determining the local time base of these cases of the visual audio sequence to be encoded in compressed data; an element to encode the local time, based on three parts that comprise a module time base, which marks the occurrence of a set of time references, uniformly spaced, of fixed interval, in the local time base, a resolution of the time increment, which gives the total number of synchronisms within the set interval and an increase of time in units of synchronisms, in relation to the occurrence of time references; an element for inserting the coded representation of the resolution of the time increment, at the beginning of the audio-visual sequence; an element for inserting the coded representation of the module time base into the compressed data of the cases of the audio-visual sequence when one or more fixed intervals have elapsed; and an element for inserting the coded representation of the time base into the compressed data of the cases of the audio-visual sequence.
2. An apparatus for decoding the encoded representation of the presentation time of an audio-visual sequence with a dynamic time-based resolution interval, this apparatus comprises: an element for decoding the local time, based on three parts comprising a time base of module, which marks the occurrence of a set of time references, uniformly spaced, of fixed interval, in the local time base, a resolution of the time increment, which gives the total number of synchronisms within the fine range and an increment of time in units of synchronisms, in relation to the occurrence of time references; elements for extracting the coded representation of the resolution of the time increment, at the beginning of the audio-visual sequence; an element to calculate the duration of a frame from the resolution of the time increment; an element for extracting the coded representation from the time base of the module, from the compressed data of the cases of the audio-visual sequence and increasing the time base by the appropriate number of fixed intervals that have elapsed; an element to extract the coded representation of the time base increment within the compressed data of the cases of the audio-visual sequence and multiplying by the duration of a frame, to obtain the time base increment of the case of the audio sequence -visual in relation to the time base; and an element to add the time base increment to this time base, to obtain the local time base of the case of the audio-visual sequence.
3. An apparatus for coding, according to claim 1, further comprising an element for inserting the encoded representation of the timecode of the time base of the encoder, at the beginning of the audio-visual sequence.
4. An apparatus for coding, according to claim 1, wherein the time base of the module comprises a series of consecutive "1" s, followed by a "0", whereby each "1" indicates the number of fixed intervals that have elapsed since the last marked synchronization point.
5. An apparatus for coding, according to claim 1, wherein the increment of time comprises an unlabeled binary integer, whereby the length of the integer is the minimum number of binary bits necessary to represent the maximum number of synchronizations given by the resolution of the increment of time base.
6. An apparatus for coding, according to claim 1, wherein the time base of the module has a fixed interval of a 1 second interval.
7. An apparatus for decoding, according to claim 2, further comprising an element for extracting the encoded representation of the timecode from the time base of the encoder, from the beginning of the audio-visual sequence and using it to derive the local time base of the decoder.
8. An apparatus for decoding, according to claim 2, wherein the time base of the module comprises a series of consecutive "1" s, followed by a "0", whereby each "1" indicates the number of fixed intervals that have elapsed since the last marked synchronization point.
9. An apparatus for decoding, according to claim 2, wherein the increment of time comprises an unlabeled binary integer, whereby the length of the integer is the minimum number of binary bits, necessary to represent the maximum number of synchronizations given by the resolution of the increment of time base.
10. An apparatus for decoding, according to claim 2, wherein the time base of the module has a fixed interval interval of 1 second.
11. A method for encoding the coded representation of the presentation time of an audio-visual sequence with a dynamic time-based resolution interval, comprising the steps of: obtaining the cases of the audio-visual sequence by the time sampling; determine the local time base of these audio-visual sequence casts to be encoded in compressed data; encode the local time, based on three parts, which comprise a module time base, which marks the occurrence of a set of time references, uniformly spaced, of fixed interval, on the basis of local time, an increase resolution of time that gives the total number of synchronisms within the fixed interval and an increase of time in units of synchronisms in relation to the occurrence of time references; insert the coded representation of the resolution of the time increment at the beginning of the audio-visual sequence; inserting the coded representation of the time base of the module into the compressed data of these cases of the audio-visual sequence, when one or more fixed intervals have elapsed; and insert the coded representation of the time base within the compressed data of these cases of the audio-visual sequence.
12. A method for decoding the encoded representation of the presentation time of the audio-visual sequence with a dynamic time-based resolution interval, comprising the steps of: decoding the local time based on three parts comprising a time base of module, which marks the occurrence of a set of time references, uniformly spaced, of fixed interval, in the local time base, a resolution of time increment, which gives the total number of synchronisms within the fixed interval and an increment of time in units of synchronisms in relation to the occurrence of time references; extract the coded representation of the resolution of the time increment, at the beginning of the audio-visual sequence; calculate the duration of a frame from the resolution of the time increment; extract the coded representation of the time base of the module from the compressed data of these cases of the audio-visual sequence and increase the time base by the appropriate number of fixed intervals that have elapsed; extract the coded representation of the time base increment within the compressed data of these cases from the audio-visual sequence and multiply it by the duration of a frame, to obtain the time base increment of the case »of the audiovisual sequence with relation to the time base; and add the time base increment to the time base to obtain the local time base of the case of the audio-visual sequence.
13. A method for encoding, according to claim 11, further comprising the step of inserting the encoded representation of the timecode of the time base of the encoder, at the beginning of the audio-visual sequence.
14. A method for coding, according to claim 11, wherein the time base of the module comprises a series of consecutive "1" s, followed by a "0", whereby each "1" indicates the number of fixed intervals that have elapsed since the last marked synchronization point.
15. A method for coding, according to claim 11, wherein the time increment comprises an unlabeled binary integer, whereby the length of the integer is the minimum number of binary bits, necessary to represent the maximum number of synchronizations given by the resolution of the increment of time base.
16. A method for coding, according to claim 11, wherein the time base of the module has a fixed interval of 1 second.
17. A method for decoding, according to claim 12, further comprising the step of extracting the encoded representation of the timecode from the time base of the encoder, from the beginning of the audio-visual sequence and using it to derive the local time base of the decoder.
18. A method for decoding, according to claim 12, wherein the time base of the module comprises a series of consecutive "1" s, followed by a "0", whereby each "1" indicates the number of fixed intervals that have elapsed since the last marked synchronization point.
19. A method for decoding, according to claim 12, wherein the time increment comprises an unlabeled binary integer, whereby the length of the integer is the minimum number of binary bits, necessary to represent the maximum number of synchronisms given by the resolution of the increase of the time base.
20. A method for decoding, according to claim 12, wherein the time base of the module has a fixed interval of 1 second.
MXPA/A/2000/004884A 1998-12-21 2000-05-18 Apparatus and method for time stamping using modulo time base and time increment resolution MXPA00004884A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10-362511 1998-12-21

Publications (1)

Publication Number Publication Date
MXPA00004884A true MXPA00004884A (en) 2001-07-03

Family

ID=

Similar Documents

Publication Publication Date Title
EP1111934B1 (en) Synchronization of multiple video object planes
JP4690635B2 (en) Method, system, and data structure for time-coding media samples
KR950010508A (en) Method and apparatus for synchronizing audio / video signals in digital transmission system
EP1014729A2 (en) Apparatus and method for time stamping using modulo time base and time increment resolution
MXPA00004884A (en) Apparatus and method for time stamping using modulo time base and time increment resolution
JP3769457B2 (en) Local time encoding method
JP3197264B6 (en) Time decoding method for VOP
JP3174042B6 (en) B-VOP time decoding method
JP3401505B2 (en) Time encoding method for VOP
JP3421024B2 (en) Time decoding method for VOP
JP3197264B2 (en) Time decoding method for VOP
JP3174042B2 (en) Time decoding method for B-VOP
HK1016390B (en) Method for display time stamping and synchronization of multiple video object planes
HK1060463B (en) Method for display time stamping and synchronization of multiple video object planes
HK1016392B (en) Method for display time stamping and synchronization of multiple video object planes
HK1124712A (en) Picture coding device and picture decoding device
HK1125523A1 (en) Picture coding device and picture decoding device