CN1101104C - 用于在一个指定时间输出编码数据的数据编码方法和装置 - Google Patents
用于在一个指定时间输出编码数据的数据编码方法和装置 Download PDFInfo
- Publication number
- CN1101104C CN1101104C CN97100596A CN97100596A CN1101104C CN 1101104 C CN1101104 C CN 1101104C CN 97100596 A CN97100596 A CN 97100596A CN 97100596 A CN97100596 A CN 97100596A CN 1101104 C CN1101104 C CN 1101104C
- Authority
- CN
- China
- Prior art keywords
- data
- value
- decoding
- time
- appointment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4341—Demultiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
Abstract
在例如对系统进行构建的过程中出现音频和视频之间的一个输出定时的延滞,产生过量的帧跳跃。在将装置内部的MPEG的PTS和SCR进行比较之前将一个补偿值加到PTS值。将一个负的补偿值用于快速解码处理。补偿值由主CPU写入一个音频补偿值寄存器等。由一个加减法器对通过将PTS和一个补偿值相加获得的值与一个取决于SCR的内部时钟SSC相比较。如果比较显示其解码处理仍然快,则一个判定控制器发出指令,例如将同一帧重放两次。
Description
技术领域
本发明涉及用于对已编码的数据进行解码并将解码的数据在包括在该数据内的一个指定输出时间输出的装置。本发明可被用于例如MPEG解码器。
背景技术
用于将视频和音频压缩成码并将其存储在例如象CD-ROM和DAT的各种记录媒体的技术已渐流行,有代表性的是国际编码标准MPEG。当今,家用电器的制造商和计算机制造商正在发展多媒体信息家用产品并试图使符合MPEG标准的产品市场化。下面是对根据MPEG标准的解码操作的简要描述。
根据MPEG视频和音频是被分别编码的,因此当进行解码时,加到每一个数据包组的一个SCR(系统时钟基准)和加到每一个数据包的PTS(出现时间标记)的信息被用于同步。
图1是表示根据MPEG编码的数据的一个数据包组的组成的示意图。 一个数据包组是一个编码数据的单元;并且包括存储该数据包组的信息的一个标题2、一个存储编码的视频数据的数据包4和一个存储编码的音频数据的数据包6。标题2存储一个SCR 12。
视频数据包4和音频数据包6具有各自的标题8和10,它们分别存储PTS14和16。视频数据包4存储一个GOP(图象组)等。一个GOP是在MPEG中的一个随机存取单元。一个数据包组通常包括多于一个的视频数据包4和音频数据包6。图象和音频数据包被分段,然后存储到一个BS缓存器中。该BS(比特数据流)缓存器是一个FIFO暂存缓存器,用于暂存编码的输入数据。MPEG解码器利用这种具有分别的视频和音频存储区的缓存器。
SCR 12可以被看作是从一个编码器发送到一个解码器的一个系统定时。具体地说,它是在编码器中的一个内部时钟的读出值。一个90KHZ的标准时钟通常被用作内部时钟,并利用一个33比特的计数器计数。结果是,大致是一天的时间能够被表示在大约10ms中。解码器也具有一个内部时钟(下称SSC-系统同步时钟)。SSC也是由一个90KHz的标准时钟和一个33比特的计数器产生。计数器是可预置的,因此可以输入所希望的值。
PTS 14和16的每一个都是用于对解码的数据包进行显示或输出(下简称″输出″)的指定的输出时间。指定的输出时间是在进行编码时由一个编码器针对一个解码器确定的。例如,如果SCR 12是T0而视频数据包4和音频数据包6是在当一个解码器接收一个数据包的时刻之后t0时被输出的,则PTS14和16将是″T0+t0″。
针对上述的情况对视频和音频输出进行同步的方法可被大致分成两类:
(1)SCR方法(下称“SCR模式”)
解码器逐个数据包组地将SCR12装入其SSC并每一次都设置它的内部时钟。通过独立地比较SSC和它们的PTS,输出图象和伴音。
(2)音频PTS方法(下称“音频PTS模式”)
即使有一个轻微的伴音滞后也会产生不自然的感觉,因此伴音首先要以最佳的定时输出。该定时是根据一个音频的PTS确定的, 但伴音的输出时间具有依赖于采样频率(例如MPEG1是32KHz)的周期的一个离散值。因此在实际的输出时间和伴音的PTS之间存在有一个轻微的滞后。在伴音被输出之时,通过对SSC输入触发该伴音输出的PTS而使得该SSC得到校正。结果是,视频输出时间被设置在一个新的SSC上。一个SCR只被用于在第一次接收之时设置时钟。该方法在ISO/ICE 11172-1中作了推荐,而且是比SCR更常用的方法。
解码操作完成时,解码器将判断上述的时间关系。如果其SSC具有比一PTS更低的值的话(PTS>SSC),则解码器将等待输出。然而,如果它们之间有很大的差异的话,就要执行不同的延迟处理,例如,同一个帧将被显示两次。如果SSC具有比PTS更高的值时(PTS<SSC),则对于本应已经被输出的视频信号的解码操作必须被执行,以便将其立即输出。如果它们具有很大的不同,则执行加速处理。比如说跳过一个帧。
PTS是由一个编码器设置的,并随着编码器和解码器的状态的不同会出现下列的问题:
(1)在视频的最终输出和音频的最终输出之间存在有定时滞后。例如,如果执行解码的音频信号的DSP处理,则在最后的输出级的音频将会迟于视频。传统的解码器将不能吸收这样的随着系统的构形出现的定时滞后。
(2)要频繁地执行延迟和加速处理。例如,当判定视频解码操作的速度是明显地慢时,将要执行视频加速处理(跳跃)。一个延迟/加速处理是以帧为单位执行的,这将导致每一次处理的大的和离散的改变(例如1/30秒)。因此,可能在加速处理之后执行一个延迟处理,随后再是一个加速处理等等,构成一个恶性循环。
发明内容
本发明旨在解决这些问题。其目的是提供一个数据解码装置,考虑到系统的构形和不均匀的解码速度等,它能实现最佳的输出定时,并能去除过度的延迟/加速处理。为了实现这一目标,根据本发明的数据解码装置以一种特定的方式来操作一个指定的输出定时。
根据本发明的一个数据解码装置用于解码已经编码的数据并将解码的数据在一个包含在其中的指定的输出时间输出,该装置具有:一个输入部分,用于输入至少包括视频数据的已经编码的数据;一个设置部分,用于设置针对指定的输出时间的给定的辅助数据;一个时钟部分,用于钟控一个内部时间;一个比较部分,用于将当数据被解码之时的一个内部时间与从所说的将该辅助值考虑在内的指定的输出时间得出的一个时间相比较;和一个解码调节部分,用于根据所说的比较结果确定是否解码处理被延迟或提前、并执行解码处理的加速或延迟操作。所说的″至少包括视频数据″的意指是可以包括音频数据等。
在这一装置中,首先输入编码的数据并从其提取一个指定的输出时间。结合该指定的输出时间而考虑上述辅助值,并将所得的时间与一个内部时间相比较。
在本发明的一个方面,上述的辅助值是对于该指定输出时间的一个补偿值,且上述的比较部分将当数据被解码时的一个内部时间与通过把上述的补偿值加到上述的指定输出时间而获得的时间相比较。如果这两个时间相匹配,则作出该解码操作是″适当″的一个判断;如果该内部时间是快的,则判断该解码操作为″慢″;如果该内部时间是慢的,则判断该解码操作是″快″的。使用一个解码较慢的装置,补偿值应事先被设置成一个较高的正值。
在本发明的另一个方面,上述的辅助值是针对一个指定输出时间的一个可允许值,而且上述的比较部分将在数据被解码时的一个内部时间与具有该可允许值范围的一个指定输出时间相比较。如果该内部时间在该范围之内的话,则作出该解码速度是″适当″的判断。
本发明又另一个方面还包括一个存储部分,用于暂存编码的输出数据,以及一个监视器部分,用于监视在该存储部分中的剩余空闲区域量,并根据此量调节上述的辅助值。例如,″FULL″意味着所有的区域都被必要的数据所占据,相反,″EMPTY″意味着所有的区域都是处于空闲。在这一方案中,如果作出存储部分是FULL的判断,则解码部分的操作被认为是或多或少地慢了一些。在此情况中,通过降低补偿值来执行一个加速处理到一定的程度,以便解决存储部分的FULL状态。
另一方面,根据本发明的数据解码的方法,编码的数据被解码,且该解码的数据在包括在其中的一个指定的输出时间输出。该方法包括步骤:输入至少包括视频数据的已经编码的数据;设置针对指定的输出时间的给定的辅助数据;钟控一个内部时间;将当数据被解码时的一个内部时间与从所说的把该辅助值考虑在内的指定的输出时间得出的一个时间相比较;和,根据该比较之结果确定是否解码处理被延迟或提前、并执行解码处理的加速或延迟操作。
在这一构形中,首先输入一个编码的数据并随即从其中提取一个指定的输出时间。根据该指定的输出时间而考虑一辅助值,并将获得的时间与一个内部时间相比较。这种比较实现了以各种方式对解码过程的控制。例如,视频数据的解码过程是慢的话,能被加速。
附图说明
图1表示根据MPEG的编码数据的一个数据包组的构成图。
图2是根据一最佳实施例的一个数据解码装置的完整构形的示意图。
图3是表示一个最佳实施例的系统同步控制部分28的详细构成的示意图。
图4是表示利用一个补偿值对于解码定时的判定过程的流程图。
图5是表示利用一个余量值设置对于解码定时的判定过程的流程图。
图6是表示利用一个补偿值和一个余量值设置对于解码定时的判定过程的流程图。
具体实施方式
下面参考附图对本发明的一个最佳实施例进行描述。
[1]构形
图2表示最佳实施例的数据解码装置的完整构形的示意图。该装置是一个MPEG解码器,其组成部分可大致被分成一个解码处理电路20,一个缓存器22和用于对其进行控制的一个主CPU24。整个解码处理电路20可被集成为一个LSI。
如图2所示,解码处理电路20经过一条系统总线26连接到主机CPU24。该总线包括地址、数据和例如必要的命令的控制信号。该解码处理电路20主要包括用于同步音频和视频的系统同步控制部分28;用于解码音频的音频解码器30;用于解码视频的视频解码器32;用于从编码的输入数据(系统的BS(比特数据流))当中将音频与视频分离的分离器34和用于控制缓存器22的读/写操作的存储器控制部分36。缓存器22包括用于存储音频BS的音频BS缓存器22a,用于存储视频BS的视频BS缓存器22b和用于存储解码的视频帧(I,P和B图象)直到输出之时的视频帧缓存器22c。每一个缓存器都有预定的容量。
在这一构形中,当输入系统的BS时,分离器34首先根据图1示出的数据包组的格式用已知的方式将音频的BS和视频的BS分离开,并将其传送到存储器控制部分36。在此时,还将数据包组中的一个SCR提取出来送到系统的同步控制部分28,用于同步控制。
存储器控制部分36将音频BS和视频BS暂存在缓存器22中;并在它们必须被解码时将其读出。读出的音频BS和视频BS被分别送到音频解码器30和视频解码器32。除去这种读/写(R/W)控制之外,存储器控制部分36还监视该音频BS缓存器22a和视频BS缓存器22b中每一个被占用的程度, 并将一个指示缓存器中的全部的缓存区都处于空闲的EMPTY信号或一个指示缓存器中的全部缓存区都被占据的FULL信号送到主CPU24。在这种情况下,总共提供了四条线路:两条用于音频的EMPTY和FULL信号,两条用于视频的EMPTY和FULL信号。(图2中的F/E所示)。为了确定EMPTY或FULL,存储器控制部分36具有在音频BS缓存器22a和视频BS缓存器22b中的关于每一个读/写单元区域的一个标志位,指示在该区上是否存在有效的数据。
音频解码器30和视频解码器32分别解码音频BS和视频BS;并分别提取一个音频的PTS和视频的PTS。经过存储器控制部分36,解码的视频数据暂存在视频帧缓存器22c当中,并根据PTS输出。这两个PTS还被送到系统同步控制部分28中。
系统同步控制部分28根据两个PTS和SCR监视并控制解码数据的输出定时。下面描述的一个补偿值或余量值被用于判断。作为判断的结果,一个″AFAST″(音频加速)或″ASLOW″(音频减速)信号响应音频解码定时被输出到音频解码器30。相似地,一个″VFAST″(视频加速)或″VSLOW″(视频减速)信号被输出到视频解码器32。根据这些定时指示信号,两个解码器对解码操作执行一个加速或延迟处理。在最简单的情况中,当启动″VFAST″信号时,将同一帧(图象)输出两次;而当启动″VSLOW″信号时,跳过一帧图象。对于音频,一个取样被输出两次或被跳过。然而,在音频PTS模式中,原则上不执行对音频的处理。
[2]系统同步控制部分28的构形。
图3是表示系统同步控制部分28的细节构形的示意图。有四个33比特的寄存器连接到系统总线26:一个音频补偿值寄存器100,一个音频余量值寄存器101;一个视频补偿值寄存器102和一个视频余量值寄存器103。这些寄存器都保存有在对音频和视频的定时进行判定之时使用的辅助值。这些值是由主CPU24写入的。一个补偿值是在通过比较PTS和SSC判定一个定时的时候加到该PTS的一个值。具体地说,是将(PTS+补偿)的值与一个SSC相比较。一个余量值是一个允许的值。具体地说,是将(PTS±余量)与一个SSC相比较。然而,在音频的PTS模式中,音频补偿值寄存器100和音频余量值寄存器101是不必要的。当将解码处理电路20集成到一个LSI中时,为了使得音频PTS模式和SCR模式成为可选择的,可以采用这样一种构形,其中具有所有四个寄存器的解码处理电路的整个音频定时判断部分都可以被无效(禁止)。
SSC计数器106是一个可预置的(具有在计数开始之时装入值的能力)33比特上升计数器,并按需要装有SCR(在SCR模式)或一个音频PTS(在音频PTS模式)。分割器108将一个系统时钟CLK分割以便产生90KHZ的时钟,且由SSC计数器106对该90KHZ的时钟计数。
辅助值选择器110根据一个SELA信号(三比特)从四个寄存器100-103和SSC计数器106中选择一个值,并将其输出到一个加减法器114。利用该SELA信号,下面将要描述的一个判定控制器112指示哪一个值将被选择。加减法器114的一个输出被保持在一个34比特的累加器116中,并在当产生进位时被作为一个计数(Cout)信号送到判定控制器112。累加器116被用于暂时保存在进行加减运算时的中间结果。
相似地,PTS选择器118根据SELB(两个比特)从一个音频PTS、一个视频PTS和累加器116的值中选择一个并将其输出到加减法器114。利用该SELB信号,判定控制器112指示哪一个值将被选择。
为了将PTS和辅助值的和与一个SSC相比较,该判定控制器112将按下述的过程根据SELA信号选择寄存器值并根据SELB信号选择一PTS。对于计算而言是必须的这些值已经被输入到加减法器114。随后将关于相加或相减的指令(SUB/ADD)送到加减法器114。该判定控制器112响应计数信号输出例如ASLOW的四个判定结果信号。这四个信号不仅送到音频解码器30和视频解码器32,还被作为一个STATUS信号(四比特)从主CPU24读出。根据下面描述的方式,通过轮询和自动地调整寄存器100-103的值,主CPU24监视STATUS信号的状态。
[3]对于一个解码处理的定时判定。
在此,描述利用一个辅助值(补偿值或余量值)的定时判定和考虑到其它条件的定时判定。
(1)通过设置一个补偿值的判定
利用此方法,如果(PTS+补偿)的值与一个SSC相匹配的话,则作出解码处理是″适当″的判定。图4示出了利用一个补偿值的设置对解码定时的判定流程。在图4中,补偿值由OFFSET表示,而一个保持在累加器116中的值由ACC表示。
如图4所示,首先设置OFFSET(S10)。如果之所以需要进行补偿设置的原因是因为具体涉及装置的问题,例如持续进行音频解码处理以及事先知道一个设置值,则当电源被加到装置时,主CPU可将存储在ROM等中的补偿值自动地写入寄存器中。根据系统的构形,可能在后来需要进行一个设置。例如,可以连接一个DIP开关,以便使得一个系统的建造者或技术支持人员等能够在设备的运输之后设置一个合适的值。在这种情况中,当电源加到装置时,可以读出开关的一个设置值。该值可以作为一个OFFSET来对待。一个补偿值对于一个慢的解码过程应为正值而对于一个快的解码过程应为负值。
随后,PTS和OFFSET相加,并且它们的和存储在ACC中(S11)。至于图3所示的音频,辅助值选择器110选择一个输入a,PTS选择器118选择一个输入f, 并且加减法器114被指令执行相加。结果,一个期望值被存储在ACC中。随后,从ACC中减去SSC,并将结果存储在ACC中(S12)。这一过程等于下式的计算:
PTS+OFFSET-SSC (公式1)在实践中,是通过辅助值选择器110选择一个输入e;通过PTS选择器118选择一个输入h;并指令加减法器114执行相减。而且,将在后面被用作指针的n必须被清除为零。
此处的计数信号的值由判定控制器112检测(S13),并执行随后的分支处理:
1、″适当″的解码定时
公式1的值等于零,且因此不产生进位。计数信号的值保持为零。 处理程序从S13的N到S15;并由于n=0而进到S16。在此从ACC减1,将1送到n,并返回到S13。在从ACC减去1之前,该ACC是零。因此当S16结束时,ACC变成-1;计数信号值变成1;而且程序从S13的Y进到S14。此时的n是1,程序进到S18,产生一个″合适的解码定时″的判定。
2、″慢″解码定时
公式1给出一个负值,因此处理程序从S13到S17,产生一个″慢解码定时″的判定。
3、″快″解码定时
公式1给出一个正值,且计数信号的值仍然是零。处理程序到S15和16。即使在S16从ACC减1,它的值也不变成负值,因为它的原始值是一个正值。结果是,程序返回S13且然后再次进到S15。这时n等于1,因此程序进到S19,产生一个″快解码定时″的判定。
当以这种方式完成该判定过程时,可能有必要执行一个加速/延迟处理。
上述的利用一个补偿值的判定方法能够有效地应付各种情况。这些情况包括:装置的解码定时是快的情况,和装置输出了音频和视频之后由于对两个信号之一进行处理而出现的定时滞后的情况。在前一种情况中,可以通过在系统的最大允许的限度内设置一个负值的补偿值来避免过分的延迟处理。在后一种情况中,由于与解码不相关的处理引起的滞后能够被正确地吸收。
(2)通过设置余量值的判定
下面描述利用余量值的判定方法。利用此方法,如果(PTS-余量值)<SSC<(PTS+余量值)的话,则判定解码处理属于″适当″。其优点是,由于能够设置某些最大的允许限度,使得判定解码处理属于″适当″的情况要比方法(1)多。例如如果延迟/加速处理是按帧执行,则可以通过将每一个处理的一个改变(例如1/30秒)考虑为一个余量值来避免延迟和加速处理的交替的出现。
图5的流程图示出了利用一个余量值设置对解码定时的判定过程。在图5中,余量值是由MARGIN表示的。主要描述图4和图5之间的差别。
如图5所示,首先设置MARGIN(S30)。PTS和MARGIN被相加并将其和存储在ACC中(S31)。随后,从ACC中减去SSC,并将结果存储在ACC中(S32)。这些过程等于下式:
PTS+MARGIN-SSC (公式2)此处计数信号的值由判定控制器112进行检测(S33),并执行下述的分支处理:
1、″适当″解码定时
如果解码定时属于″适当″,则存在这样的关系:PTS+MARGIN>SSC,且公式2的值为正。因此处理程序从S33的N到S34。随后PTS-MARGIN的值存储在ACC中,并从该值中减去SSC(S35)。此情况中存在这样的关系:PTS-MARGEN<SSC,从而计数信号值变成1且程序到S36的Y,导致一个″适当的解码定时″的判定。
2、″慢″解码定时
公式2给出一个负值,因此使得处理程序从S33进到S39,导致一个″慢解码定时″判定。
3、″快″解码定时
存在这样的关系:PTS+MARGIN>SSC,所以如同″适当的解码定时″时, 处理程序进到S35。在此情况中,通过从PTS减去一个余量值所得到的数值是高于SSC的,且因此PTS-MARGIN>SSC,且计数信号的值仍然是零。处理程序到S38,导致″快速解码定时″的判定。
(3)利用设置一个补偿值和一个余量值的判定
下面描述结合补偿和余量的一种方法。该方法(3)具有方法(1)和方法(2)这二者的效果。图6的流程图表示利用一个补偿值和一个余量值设置的解码定时的判定过程。主要描述图6与图4和图5的不同之处。
如图6所示,首先设置OFFSET和MARGIN(S50)。将PTS和MARGIN相加并将其和存储在ACC中(S51)。根据计数信号的值进行的处理步骤S52和53是与图4的S12和13相同的,执行下述的分支处理:
1、″适当″的解码定时
在″适当″的解码定时的情况中,如果计数信号值是1,则将MARGIN加到PTS必然将该值改变成零。如果计数信号值是零,从PTS减去MARGIN必然将该值改变成1。这是一般的规则。
如果在S53计数信号值是1,处理程序到S54,且由于n是0而进到S55。在此将MARGIN加到ACC并将n改变成1。在此点的计数信号的值是0。处理返回到S53并随后分支到S56。在此的n等于1并在S59作出″适当的解码定时″的判定。
另一方面,如果在S53计数信号的值是零,处理进到S56且因为n等于0而进到S57。在此从ACC中减去MARGIN并将n改变成2。在此点计数信号的值是1。处理返回到S53并进到S54。此时的n等于2并以相同的方式在S59作出″适当的解码定时″判定。
2、″慢″解码定时
在S53计数信号的值是1并且处理程序到S54和55。在此,即使在MARGIN被加到ACC以后,该计数信号的值仍然保持是1。因此,当处理返回到S53时,再次进到S54。此时的n等于1,并在S58作出″慢解码定时″的判定。
3、″快″解码定时
在S53计数信号的值是0并且处理程序到S56和57。在此,即使是在MARGIN被从ACC减去以后,该计数信号的值仍然保持是0。因此,当处理返回到步骤53时,再次进到步骤56。此时的n等于2,并在步骤60作出″快解码定时″的判定。
(4)考虑到上述之外的条件的判定方法
除去上述的(1)-(3)之外,也考虑其它的条件。在此利用指示BS缓存器22a和22b的存储状态的信号。这些信号是从图2的存储器控制部分36输出的F/E(FULL/EMPTY)信号。主CPU24可以通过轮询监视这四个信号。或根据这些信号中的改变在主CPU上产生中断等。利用这种方法,如果产生的是一个FULL信号,则作出″慢解码定时″的判定;如果产生的是一个EMPTY信号,则作出″快解码定时″的判定。而如果没有产生信号,则作出″适当解码定时″的判定。
在一个判定之后,上述的寄存器的值根据结果被自动地调节。注意,当产生FULL信号的时候(″慢解码定时″),必须使用一个较低的补偿值。借此,一个加速处理能够迅速解决BS缓存器22a和22b的FULL状态。结果是,BS缓存器22a和22b被保持在适当的存储状态。不需要来自外部的手动调节。
[4]寄存器值的自动调节
在本实施例中,补偿值或余量值是根据判定结果自动地调节的。实现这一点的一个可能的方式如下。如在[3](4)中所述,主CPU24通过轮询监视包括AFAST的四个STATUS信号,并且,如果AFAST启动了某些次运行,则在系统的最大可允许的限度内降低一个音频补偿值,或在系统的最大可允许的限度内提高一个音频余量值。这种对于相应的寄存器的值的刷新是由主CPU24执行的。
这些是最佳实施例的装置的细节。下述的对于最佳实施例的修正和改进是可能的。
1、判定控制器112利用来自加减法器114的一个计数信号作出判定,但可将一个比较器放置在加减法器114之后。在此情况中,SSC的值应该总是输入到比较器的一侧,且通过加减运算获得的PTS+OFFSET等数值应该通过利用该选择器的适当的切换输入到另一侧。这将减少判定步骤的数量。
2、利用F/E信号的定时判定主要是由主CPU24执行,但是也可以由系统的同步控制部分28执行。在此情况中,系统的同步控制部分28监视在四个信号中的变化。
3、帧跳跃是作为加速处理的一个实例,但也可以采用其它的方法。例如,有可能通过降低解码的精确度来增加解码的速度。
4、MPEG解码器被描述为一个数据解码的装置,但本发明当然能够用于将一个内部时间和一个指定输出时间相比较的其它装置。
根据这一实施例,能提供一个数据解码装置,考虑到系统的构形、解码速度的分布等实现了最佳的输出定时。并且避免了过度的延迟/加速处理。本发明能够被使用在数字解码装置的任何阶段,包括制造阶段、系统的安装阶段以及随后的市场运营阶段。而且,通过自动调节用于定时判定的寄存器值的设计,能够在系统的最大允许限度之内而不涉及用户的调节的情况下实现PTS判定的最佳方法。虽然已经作出的是对于本发明的最佳的实施例的描述,但应该懂得,可以对其作各种改进,而且,所附的权利要求将所有的修正都包括在本发明的精神范围之内。
Claims (14)
1、一种用于解码已经编码的数据的装置,该装置包括:
一个输入部分,用于输入至少包括视频数据的已经编码的数据;
一个时钟部分,用于钟控一个内部时间;其特征在于,所述装置还包括:
一个设置部分,用于设置针对指定的输出时间的给定的辅助值;
一个比较部分,用于将在数据被解码时的一个内部时间与从所说的将该辅助值考虑在内的指定的输出时间得出的一个时间相比较;和
一个解码调节部分,用于根据所说的比较结果确定是否解码处理被延迟或提前、并执行解码处理的加速或延迟操作。
2、根据权利要求1的装置,其中当视频数据的解码处理快时,所说的解码调节部分将同一视频帧作多于一次的显示。
3、根据权利要求1的装置,其中当视频数据的解码处理慢时,所说的解码调节部分跳过某一视频帧的显示。
4、根据权利要求1的装置,其中当视频数据的解码处理慢时,所说的解码调节部分降低某一视频帧的解码精确度。
5、根据权利要求1的装置,其中所说的辅助值是针对指定的输出时间的一个补偿值,所说的比较部分将当数据被解码时的一个内部时间与通过将所说的补偿值加到所说的指定输出时间而获得的一个时间相比较。
6、根据权利要求5的装置,其中所说的补偿值是根据视频数据的解码速度和不属于视频的数据的解码速度之间的差而设定的。
7、根据权利要求1的装置,其中所说的辅助值是针对一个指定的输出时间的可允许值,而
所说的比较部分将在当数据被解码之时的一个内部时间与具有该可允许值的范围的指定的输出时间相比较。
8、根据权利要求7的装置,其中所说的可允许值是从视频帧的一个显示间隔设定的。
9、根据权利要求1的装置,还包括一个用于根据所说的比较对所说的辅助值进行调节的部分。
10、根据权利要求1的装置,还包括:
一个存储部分,用于暂存编码的输入数据;
一个用于监视该存储部分的空闲容量的部分;和
一个调节部分,用于根据该空闲容量调节所说的辅助值。
11、根据权利要求9的装置,其中,
当所说的空闲容量受限时,所说的调节部分对该辅助值进行调节,使解码处理加速;而当所说的空闲容量很大时,所说的调节部分对该辅助值进行调节,使解码处理延迟。
12、一种用于解码已经编码的数据并将解码的数据在一个指定的输出时间输出的方法,该方法包括步骤:
输入至少包括视频数据的已经编码的数据;
设置针对所说的指定的输出时间的一给定的辅助值;
钟控一个内部时间;
将在数据被解码时的一个内部时间与从所说的将该辅助值考虑在内的指定的输出时间得出的一个时间相比较;和
根据该比较之结果确定是否解码处理被延迟或提前、并执行解码处理的加速或延迟操作。
13、根据权利要求12的方法,
其中所说的辅助值是针对指定输出时间的一个补偿值,而所说的比较步骤将在数据被解码时的一个内部时间与通过将所说的补偿值加到所说的指定输出时间而获得的一个时间相比较。
14、根据权利要求12的方法,其中所说的辅助值是对于一个指定的输出时间的可允许值,以及所说的比较步骤将在数据被解码时的一个内部时间与具有该可允许值的范围的指定的输出时间相比较。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP017370/1996 | 1996-02-02 | ||
JP1737096A JP3130464B2 (ja) | 1996-02-02 | 1996-02-02 | データ復号装置 |
JP017370/96 | 1996-02-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1162798A CN1162798A (zh) | 1997-10-22 |
CN1101104C true CN1101104C (zh) | 2003-02-05 |
Family
ID=11942148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97100596A Expired - Fee Related CN1101104C (zh) | 1996-02-02 | 1997-02-03 | 用于在一个指定时间输出编码数据的数据编码方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6088063A (zh) |
JP (1) | JP3130464B2 (zh) |
KR (1) | KR970063950A (zh) |
CN (1) | CN1101104C (zh) |
TW (1) | TW364980B (zh) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3068002B2 (ja) * | 1995-09-18 | 2000-07-24 | 沖電気工業株式会社 | 画像符号化装置、画像復号化装置及び画像伝送システム |
GB2326781B (en) * | 1997-05-30 | 2001-10-10 | British Broadcasting Corp | Video and audio signal processing |
JP3418966B2 (ja) * | 1997-10-09 | 2003-06-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 同期化方法及びデコーダ |
KR100294663B1 (ko) * | 1997-12-29 | 2001-09-17 | 구자홍 | 엠펙디코더및디코딩제어방법 |
US6081299A (en) * | 1998-02-20 | 2000-06-27 | International Business Machines Corporation | Methods and systems for encoding real time multimedia data |
JP3422686B2 (ja) | 1998-06-12 | 2003-06-30 | 三菱電機株式会社 | データ復号装置及びデータ復号方法 |
JP2000278136A (ja) * | 1999-03-19 | 2000-10-06 | Mitsubishi Electric Corp | 復号装置 |
US6512552B1 (en) * | 1999-03-29 | 2003-01-28 | Sony Corporation | Subpicture stream change control |
US6636269B1 (en) * | 1999-08-18 | 2003-10-21 | Webtv Networks, Inc. | Video timing system and method |
JP4161487B2 (ja) * | 1999-11-01 | 2008-10-08 | ソニー株式会社 | データ復号装置及び方法 |
TW526666B (en) * | 2000-03-29 | 2003-04-01 | Matsushita Electric Ind Co Ltd | Reproducing method for compression coded data and device for the same |
CN1393094A (zh) * | 2000-08-16 | 2003-01-22 | 皇家菲利浦电子有限公司 | 多媒体应用程序的运行方法 |
US6975363B1 (en) * | 2000-08-31 | 2005-12-13 | Microsoft Corporation | Methods and systems for independently controlling the presentation speed of digital video frames and digital audio samples |
JP4208398B2 (ja) * | 2000-10-05 | 2009-01-14 | 株式会社東芝 | 動画像復号再生装置、動画像復号再生方法及びマルチメディア情報受信装置 |
US20020089602A1 (en) | 2000-10-18 | 2002-07-11 | Sullivan Gary J. | Compressed timing indicators for media samples |
US6633937B2 (en) * | 2000-12-21 | 2003-10-14 | National Instruments Corporation | GPIB system and method which performs autopolling using heuristics |
US6940873B2 (en) * | 2000-12-27 | 2005-09-06 | Keen Personal Technologies, Inc. | Data stream control system for associating counter values with stored selected data packets from an incoming data transport stream to preserve interpacket time interval information |
US7030930B2 (en) * | 2001-03-06 | 2006-04-18 | Ati Technologies, Inc. | System for digitized audio stream synchronization and method thereof |
TW499818B (en) * | 2001-03-29 | 2002-08-21 | Winbond Electronics Corp | Audio/video packet synchronous decoding method |
US7012650B2 (en) * | 2001-06-14 | 2006-03-14 | Sony Corporation | Start/stop audio encoder apparatus and method for synchronizing digital audio and video signals |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US8086752B2 (en) | 2006-11-22 | 2011-12-27 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US9207905B2 (en) | 2003-07-28 | 2015-12-08 | Sonos, Inc. | Method and apparatus for providing synchrony group status information |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US8107531B2 (en) * | 2003-09-07 | 2012-01-31 | Microsoft Corporation | Signaling and repeat padding for skip frames |
US8345754B2 (en) * | 2003-09-07 | 2013-01-01 | Microsoft Corporation | Signaling buffer fullness |
US7961786B2 (en) * | 2003-09-07 | 2011-06-14 | Microsoft Corporation | Signaling field type information |
US8582659B2 (en) * | 2003-09-07 | 2013-11-12 | Microsoft Corporation | Determining a decoding time stamp from buffer fullness |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US8024055B1 (en) | 2004-05-15 | 2011-09-20 | Sonos, Inc. | Method and system for controlling amplifiers |
US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8868698B2 (en) | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US20060104356A1 (en) * | 2004-11-15 | 2006-05-18 | Microsoft Corporation | Timing for decoder buffer examination |
US20060209210A1 (en) * | 2005-03-18 | 2006-09-21 | Ati Technologies Inc. | Automatic audio and video synchronization |
KR100770704B1 (ko) * | 2005-08-04 | 2007-10-29 | 삼성전자주식회사 | 픽쳐 스킵 방법 및 장치 |
US8483853B1 (en) | 2006-09-12 | 2013-07-09 | Sonos, Inc. | Controlling and manipulating groupings in a multi-zone media system |
US8788080B1 (en) | 2006-09-12 | 2014-07-22 | Sonos, Inc. | Multi-channel pairing in a media system |
US9202509B2 (en) | 2006-09-12 | 2015-12-01 | Sonos, Inc. | Controlling and grouping in a multi-zone media system |
US8027560B2 (en) * | 2007-02-05 | 2011-09-27 | Thales Avionics, Inc. | System and method for synchronizing playback of audio and video |
US8275209B2 (en) * | 2008-10-10 | 2012-09-25 | Microsoft Corporation | Reduced DC gain mismatch and DC leakage in overlap transform processing |
US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
US8938312B2 (en) | 2011-04-18 | 2015-01-20 | Sonos, Inc. | Smart line-in processing |
US9042556B2 (en) | 2011-07-19 | 2015-05-26 | Sonos, Inc | Shaping sound responsive to speaker orientation |
US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
US9008330B2 (en) | 2012-09-28 | 2015-04-14 | Sonos, Inc. | Crossover frequency adjustments for audio speakers |
US9244516B2 (en) | 2013-09-30 | 2016-01-26 | Sonos, Inc. | Media playback system using standby mode in a mesh network |
US9226087B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US9226073B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US10248376B2 (en) | 2015-06-11 | 2019-04-02 | Sonos, Inc. | Multiple groupings in a playback system |
US10712997B2 (en) | 2016-10-17 | 2020-07-14 | Sonos, Inc. | Room association based on name |
EP3386193A1 (en) * | 2017-04-04 | 2018-10-10 | Thomson Licensing | Method of delivery of audiovisual content and corresponding device |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3496725B2 (ja) * | 1992-10-16 | 2004-02-16 | ソニー株式会社 | 多重化データ分離装置 |
US5396497A (en) * | 1993-02-26 | 1995-03-07 | Sony Corporation | Synchronization of audio/video information |
US5486864A (en) * | 1993-05-13 | 1996-01-23 | Rca Thomson Licensing Corporation | Differential time code method and apparatus as for a compressed video signal |
JP3197766B2 (ja) * | 1994-02-17 | 2001-08-13 | 三洋電機株式会社 | Mpegオーディオデコーダ、mpegビデオデコーダおよびmpegシステムデコーダ |
US5473385A (en) * | 1994-06-07 | 1995-12-05 | Tv/Com Technologies, Inc. | Clock correction in a video data decoder using video synchronization signals |
JP2910575B2 (ja) * | 1994-09-26 | 1999-06-23 | 日本電気株式会社 | 音声信号処理回路と画像・音声デコーダ |
US5598352A (en) * | 1994-09-30 | 1997-01-28 | Cirrus Logic, Inc. | Method and apparatus for audio and video synchronizing in MPEG playback systems |
US5771075A (en) * | 1994-12-08 | 1998-06-23 | Lg Electronics Inc. | Audio/video synchronizer |
US5588029A (en) * | 1995-01-20 | 1996-12-24 | Lsi Logic Corporation | MPEG audio synchronization system using subframe skip and repeat |
IT1268196B1 (it) * | 1994-12-23 | 1997-02-21 | Sip | Dispositivo per la ricetrasmissione e decodifica di sequenze audiovisivi compresse. |
IT1268195B1 (it) * | 1994-12-23 | 1997-02-21 | Sip | Decodificatore per segnali audio appartenenti a sequenze audiovisive compresse e codificate. |
JP4297518B2 (ja) * | 1995-03-06 | 2009-07-15 | 沖電気工業株式会社 | 音声・ビデオ復号装置 |
US5726989A (en) * | 1995-11-06 | 1998-03-10 | Stellar One Corporation | Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream |
-
1996
- 1996-02-02 JP JP1737096A patent/JP3130464B2/ja not_active Expired - Fee Related
-
1997
- 1997-01-04 TW TW086100050A patent/TW364980B/zh not_active IP Right Cessation
- 1997-01-11 KR KR1019970000576A patent/KR970063950A/ko not_active Application Discontinuation
- 1997-01-29 US US08/790,898 patent/US6088063A/en not_active Expired - Lifetime
- 1997-02-03 CN CN97100596A patent/CN1101104C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR970063950A (ko) | 1997-09-12 |
US6088063A (en) | 2000-07-11 |
JP3130464B2 (ja) | 2001-01-31 |
TW364980B (en) | 1999-07-21 |
CN1162798A (zh) | 1997-10-22 |
JPH09214351A (ja) | 1997-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1101104C (zh) | 用于在一个指定时间输出编码数据的数据编码方法和装置 | |
CN1239016C (zh) | 接收装置和接收方法 | |
CN1315328C (zh) | 在一统计式多工器中决定传输比特率的方法及装置 | |
CN1135838C (zh) | 视频数据的记录和再现装置 | |
CN1277405C (zh) | 一种网络多媒体信息快速播放方法及相应的机顶盒设备 | |
CN103747317B (zh) | 一种播放库在不稳定网络下的流畅播放控制方法 | |
CN102217308B (zh) | 使用画面组合并和位分配的多线程视频编码 | |
CN1086887C (zh) | 解码装置和方法 | |
US20130004147A1 (en) | Dynamic encode setting adjustment | |
CN105933800A (zh) | 一种视频播放方法及其控制终端 | |
CN1822507A (zh) | 多路传输设备以及多路传输数据发送与接收系统 | |
CN1433641A (zh) | 可配合图像群结构中改变的统计式复用器及再复用器 | |
CN1316838A (zh) | 数据多路复用器、数据多路复用方法和记录介质 | |
US20100254408A1 (en) | Multiplexing device, integrated circuit, multiplexing method, multiplexing program, computer readable recording medium with recorded multiplexing program and computer readable recording medium with recorded multiplexing stream | |
CN1156361A (zh) | 数字信号的多路复用方法和设备以及数字信号的记录介质 | |
CN1550097A (zh) | 数字广播发送装置及其方法、数字广播接收装置及其方法 | |
CN1767424A (zh) | 播放电台同步方法和便携终端机 | |
CN1599443A (zh) | 运动图像重放装置 | |
CN1315116A (zh) | 利用缓存器控制的视频编码器和编码方法 | |
CN107396125A (zh) | 解码器资源分配方法及装置 | |
CN100562122C (zh) | 一种多媒体文件音视频同步播放的系统及方法 | |
MY118129A (en) | Method and apparatus for encoding or decoding digital video data | |
CN1191721C (zh) | 视频信号编码和缓存器管理 | |
CN1871854A (zh) | 具有压缩图像与视频的低启动时延的假想参考解码器 | |
US7054544B1 (en) | System, method and record medium for audio-video synchronous playback |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030205 Termination date: 20110203 |