CN101321279A - 处理数据的方法和系统 - Google Patents

处理数据的方法和系统 Download PDF

Info

Publication number
CN101321279A
CN101321279A CNA2008101089977A CN200810108997A CN101321279A CN 101321279 A CN101321279 A CN 101321279A CN A2008101089977 A CNA2008101089977 A CN A2008101089977A CN 200810108997 A CN200810108997 A CN 200810108997A CN 101321279 A CN101321279 A CN 101321279A
Authority
CN
China
Prior art keywords
state
initial code
bit string
pes
avs
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.)
Granted
Application number
CNA2008101089977A
Other languages
English (en)
Other versions
CN101321279B (zh
Inventor
杨志杰
陈雪敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies Fiber IP Singapore Pte Ltd
Original Assignee
Zyray Wireless Inc
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 Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN101321279A publication Critical patent/CN101321279A/zh
Application granted granted Critical
Publication of CN101321279B publication Critical patent/CN101321279B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Abstract

本发明涉及用于AVS的统一起始码竞争阻止比特处理的方法和系统。具有任意比特串长度例如2比特的起始码竞争阻止比特串被插入AVS编码数据内。解码时,解析接收的AVS编码数据,以识别出起始码竞争阻止比特串和起始码。可将检测到起始码竞争阻止比特串和起始码通知给比特处理器。比特处理器在解码处理过程中移除起始码竞争阻止比特串,并存储检测到的起始码以用于例如PVR应用。可对比特流例如PUSI位未设置的无界PES和/或TS增加约束以用于进一步的比特处理。

Description

处理数据的方法和系统
技术领域
本发明涉及视频信号处理,更具体地说,涉及一种用于AVS的统一起始码竞争阻止比特处理的方法和系统。
背景技术
AVS(中国数字音视频编解码标准)视频标准是一种流线型高效视频编码器,采用最新的视频编码工具,专用于高清晰度高质量视频服务。AVS提供的视频编解码算法在绝对编解码性能和实现复杂度之间进行了最优化。AVS应用的示例有各种广播电视、HD-DVD,而且宽带视频网络内容也可使用AVS视频标准。
AVS规范定义了比特流语法,并规定了解码AVS比特流所需的处理。AVS比特流可以基本流(ES)、封包基本流(PES)和/或传输流(TS)的格式进行传送。基于起始码(start code)的AVS比特流结构已经用在了AVS规范中。每个AVS单元,例如ES、PES和/或TS,以一个独特的起始码开始并包含有应用数据。该独特的起始码使得解码器中的解析器能够有效地访问针对各种应用的压缩视频单元。应用数据在有效载荷内可以是任意模式的。该起始码是一个唯一值的字节串。该唯一字节串提供了一种模式,该模式的出现指出了再同步点。在AVS规范中,起始码前缀结构从字节对齐位置开始,具有23个零跟着是1,即000000000000000000000001。该比特模式000000000000000000000001的每一次出现被视为检测到起始码。
比较本发明后续将要结合附图介绍的系统,现有技术的其它局限性和弊端对于本领域的普通技术人员来说是显而易见的。
发明内容
本发明提供了一种用于AVS的统一起始码竞争阻止比特处理的方法和/或系统,结合至少一幅附图进行了充分的展现和描述,并在权利要求中得到了更完整的阐述。
根据本发明的一个方面,本发明提供了一种处理数据的方法,包括:
接收数据流内包含至少一个起始码的编码数据;
检测嵌入在所述接收的编码数据内的起始码竞争阻止比特串,其中所述嵌入的起始码竞争阻止比特串具有任意的比特串长度;以及
基于对所述起始码竞争阻止比特串的检测,处理所述接收的编码数据。
优选地,所述方法包括:从所述接收的编码数据中移除所述嵌入的起始码竞争阻止比特串。
优选地,所述任意比特串长度是2比特。
优选地,所述数据流是基本流和/或封包基本流和/或传输流。
优选地,所述方法包括:存储所述至少一个起始码。
优选地,所述存储至少一个起始码用于个人视频录制应用。
优选地,所述封包基本流是无界的,和/或所述传输流的有效载荷单元起始标志位未设置。
优选地,所述无界封包基本流的封包基本流有效载荷以非000001的比特串结束。
优选地,所述无界封包基本流的封包基本流报头直接插入在所述至少一个起始码之前。
根据本发明的一个方面,本发明还提供了一种处理数据的系统,包括:
用于接收数据流内包含至少一个起始码的编码数据的一个或多个处理器;
所述一个或多个处理器检测嵌入在所述接收的编码数据内的起始码竞争阻止比特串,其中所述嵌入的起始码竞争阻止比特串具有任意的比特串长度;
所述一个或多个处理器基于对所述起始码竞争阻止比特串的检测,处理所述接收的编码数据。
优选地,所述一个或多个处理器从所述接收的编码数据中移除所述嵌入的起始码竞争阻止比特串。
优选地,所述任意比特串长度是2比特。
优选地,所述数据流是基本流和/或封包基本流和/或传输流。
优选地,所述一个或多个处理器存储所述至少一个起始码。
优选地,所述存储的至少一个起始码用于个人视频录制应用。
优选地,所述封包基本流是无界的,和/或所述传输流的有效载荷单元起始标志位未设置。
优选地,所述无界封包基本流的封包基本流有效载荷以非000001的比特串结束。
优选地,所述无界封包基本流的封包基本流报头直接插入在所述至少一个起始码之前。
根据本发明的一个方面,本发明还提供了一种可机读存储器,其内存储的计算机程序包括至少一个用于处理数据的代码段,机器执行所述至少一个代码段可使该机器执行如下步骤:
接收数据流内包含至少一个起始码的编码数据;
检测嵌入在所述接收的编码数据内的起始码竞争阻止比特串,其中所述嵌入的起始码竞争阻止比特串具有任意的比特串长度;以及
基于对所述起始码竞争阻止比特串的检测,处理所述接收的编码数据。
优选地,所述至少一个代码段包括从所述接收的编码数据中移除所述嵌入的起始码竞争阻止比特串的代码。
优选地,所述任意比特串长度是2比特。
优选地,所述数据流是基本流和/或封包基本流和/或传输流。
优选地,所述至少一个代码段包括存储所述至少一个起始码的代码。
优选地,所述存储的至少一个起始码用于个人视频录制应用。
优选地,所述封包基本流是无界的,和/或所述传输流的有效载荷单元起始标志位未设置。
优选地,所述无界封包基本流的封包基本流有效载荷以非000001的比特串结束。
优选地,所述无界封包基本流的封包基本流报头直接插入在所述至少一个起始码之前。
本发明的各种优点、各个方面和创新特征,以及其中所示例的实施例的细节,将在以下的描述和附图中进行详细介绍。
附图说明
图1是根据本发明实施例的实现AVS传输流(TS)的生成的示例系统的模块图;
图2是根据本发明实施例的AVS流格式的框图;
图3是根据本发明实施例的统一起始码竞争阻止比特处理器的模块图;
图4是根据本发明实施例的AVS ES解析器操作的状态图;
图5是根据本发明实施例的AVS ES比特处理器操作的状态图;
图6是根据本发明实施例的有界AVS ES解析器操作的状态图;
图7是根据本发明实施例的AVS TS解析器操作的状态图;
图8是根据本发明实施例的具有PES有效载荷约束操作的无界PES解析器的状态图;
图9是根据本发明实施例的具有PES报头约束的无界PES解析器的状态图;
图10是根据本发明实施例的未使用PUSI且具有PES有效载荷约束操作的AVS TS解析器的状态图;
图11是根据本发明实施例的未使用PUSI且具有PES报头约束操作的AVS TS解析器的状态图。
具体实施方式
本发明涉及一种用于AVS的统一起始码竞争阻止比特处理的方法和系统。本发明的各个方面包括在AVS编码数据内插入具有任意比特串长度(例如,2比特)的起始码竞争阻止比特串。具有该插入的起始码竞争阻止比特串的AVS编码数据被处理,并通过传输介质和/或存储介质进行传送。解码过程中,可解析该AVS编码数据,以识别出起始码竞争阻止比特串和起始码。解析过程中,在检测到起始码竞争阻止比特串和/或起始码之后,可传送一个或其它指示给比特处理器。比特处理器移除或忽略识别出的起始码竞争阻止比特串,并继续解码该编码数据。检测到的起始码可存储起来并可用于各种应用,例如个人视频录制(PVR)。包含有插入的起始码竞争阻止比特串的AVS编码数据可通过基本流(ES)、封包基本流(PES)和/或传输流(TS)进行传送。对于有效载荷起始标志位(PUSI)比特未设置的无界PES和TS,可对对应的比特流增加约束,以使其通过相同的比特处理器进行处理。示例的约束包括:(1)对应的PES报头不能以比特串000001结束;和/或(2)对应的PES报头只能直接插入在无界PES的起始码之前。
图1是根据本发明实施例的实现AVS传输流(TS)的生成的示例系统的模块图。参看图1,示出了编码器102、封包器104和TS复用器106。
编码器102可包括合适的逻辑、电路和/或代码,用于将输入数字数据压缩成依据AVS标准的AVS基本流(ES)。使用的压缩方法取决于输入数字数据的类型。示例的输入数字数据包括视频数据、音频数据、音频/视频数据、文本数据、计算机可执行程序数据、存档数据和/或数据库信息。AVS ES可以是连续压缩的数字音频、视频或数据。音频可包括音乐和/或语音信息。
封包器104可包括合适的逻辑、电路和/或代码,用于对该连续压缩的音频、视频或数据例如AVS ES进行封包,以生成封包基本流(PES)。封包器104可将AVS ES分割成数据块,并给每个数据块添加数据包络,形成AVS PES数据包。每个AVS PES包包括PES报头和PES有效载荷。PES报头可从字节对齐的起始码开始,跟着是其它字段以给出例如错误保护,并实现对该AVSPES包的随机访问。起始码可定义出特定的字节模式,用于标识新AVS PES包的开始。AVS PES包的PES有效载荷包括AVS ES的数据,但是是不同格式的,该格式取决于数据例如音频或视频的类型。PES有效载荷内的数据的模式可以是随机的,并且可能具有与起始码使用的相同的模式。这被称为所谓的“起始码竞争”,会导致起始码的错误检测。在这点上,为了防止起始码竞争,当在对应的PES有效载荷内可能会发现与“起始码相似”的模式时,通过插入具有任意比特串长度(例如,2比特)的起始码竞争阻止比特串,可将PES有效载荷内的数据模式强制为不同于起始码模式。“与起始码相似”的模式即任何与起始码相似的比特序列。起始码竞争阻止比特串可被标识,并接着为了正确的解译出PES有效载荷,可在某个点被移除或忽略,因为该任意长度比特串并非字节定向的,也就是说,该任意长度比特串是非字节的比特串,并且也不是一个字节的多倍重复。起始码定义的数据边界可通过识别该起始码来正确的定位。
TS复用器106可包括合适的逻辑、电路和/或代码,用于接收来自封包器104的输出PES,并复用PES包以生成单个传输流(TS)。该单个传输流适合于在媒介上传输和/或存储。TS可以是一串连续的TS包,包含AVS PES数据包的部分或整个AVS PES数据包。TS包可包含不多于一个的AVS PES数据包。
操作中,待传输的大量数字数据可首先在编码器102中压缩成AVS ES,其为连续数字音频、视频或数据。生成的AVS ES在封包器104中通过将AVSES数据的一部分打包为AVS PES有效载荷并加入以起始码开始的PES报头而生成AVS PES包。当在AVS PES有效载荷中找到与起始码相似的模式时,将具有任意比特串长度(例如2比特)的起始码竞争阻止比特串插入AVS PES有效载荷中,以避免出现起始码竞争。来自封包器104的AVS PES可在TS复用器106中与其它AVS PES进行时分复用,形成包含一串连续的TS包的单个传输流。该任意长度比特串是非字节且非一个字节的多倍重复的比特串。
图2是根据本发明实施例的AVS流格式的框图。参见图2,示出了AVS PES包210和AVS TS 220。AVS PES包210包括PES报头212和PES有效载荷214。PES报头212包括起始码212A、流ID 212B和PES包长度212C。AVS TS 220可包括多个AVS TS包222、224、226和228。每个AVS TS包,例如AVS TS包222,可包括TS报头222a和TS有效载荷222b。
AVS PES包210开始于PES报头212,PES报头212包括唯一的起始码212A,跟着是流ID 212B和PES包长度212C。起始码212A可以是字节对齐的唯一代码,值为0x000001。起始码212A可用作同步标记或基准,以为比特边界提供同步和/或再同步。流ID 212B可分派AVS PES包210给特定基准流(ES),并定义基准流的类型,例如0x02表示视频流和0x02表示音频流。PES包长度212C指出PES有效载荷214的字节长度。
PES有效载荷214可包括ES数据的一部分。PES有效载荷214的格式可针对视频ES和音频ES而不同。ES数据的模式可以是任意的,可能ES数据内部或其自身具有与起始码212A所使用的相同的模式,这将会导致解码器处对起始码212A的错误检测。为了避免起始码竞争,将ES的比特放置在PES有效载荷214内,直到一个字节的第二个最低有效位(LSB)。当当前字节的第二个LSB之前出现了22个“0”,则将一个起始码竞争阻止比特串“10”插入作为当前字节的最后两个比特。PES有效载荷214的语法结构在不是针对起始码的位置不包括23个0。每次23个0的出现则是起始码212A,从而使得解码器能够精确地检测出起始码212A。
AVS TS 220包括一串TS包,例如222、224、226和228。每个TS包,例如TS包222,可包括有TS报头222A和TS有效载荷222b。TS报头222a用于TS包同步、有效载荷识别,并可提供其它解码信息,例如用于标识包含有与单个PES流相关的信息的传输包的包标识符。
TS有效载荷222b可包括一个或多个AVS PES包210。AVS PES包210的整个内容可以划分成更小的片并插入到TS包的有效载荷区域内。在AVSPES包210不能匹配TS有效载荷222b的大小的整数倍的情况下,可使用字节填充。将十六进制值FF(0xFF)插入到AVS TS包222内,直到TS包有效载荷222b被填满。
图3是根据本发明实施例的统一起始码竞争阻止比特处理器的模块图。参见图3,示出了FIFO 302、解析器304、比特处理器306、CDB 308和SCB 310。
FIFO 302可包括合适的逻辑、电路和/或代码,用于以先进先出的形式缓冲输入比特流。FIFO 302可设计成使比特处理速率大于最大输入比特速率,以确保FIFO 302不会满出。
解析器304可包括合适的逻辑、电路和/或代码,用于解析输入比特流并提供字节对齐的比特流。具体而言,在解析器304从输入比特流中读取字节的情况下,解析器304可对前面两个字节的0的数量进行计数。如果出现连续的23个0,解析器304便可确定检测到了真正的起始码,并设置起始码检测标记(sc-det)然后发信号通知给比特处理器306。如果解析器304识别出连续的22个0的出现,解析器304可将后续的“10”比特确定为插入的起始码竞争阻止比特串“10”。一旦检测到起始码竞争阻止比特串后,解析器304通过设置竞争码检测标记(emu-det),来发信号通知比特处理器或提供指示给比特处理器306。解析器304可将从输入比特流中读出的剩余比特当作真实数据的继续,并通过设置例如ES字节标记来将其发信号给比特处理器306。AVS PES例如AVS PES 210可包括一个以上的起始码。例如,AVS PES 210的PES有效载荷214可包括整个AVS ES数据,生成的AVS PES 210可包括分别用于AVS PES 210及对应的AVS ES两者的起始码。这种情况下,解析器304能够单独地解析PES起始码和AVS ES起始码。
比特处理器306可包括合适的逻辑、电路和/或代码,用于为不同的计算组件处理字节对齐的比特流。例如,检测到真实起始码210可使比特处理器306检测输入数据的与数据边界或字节边界相关的真实字节对齐。比特处理器306可生成接收的起始码信息,并丢弃起始码竞争阻止比特串,以构成新的字节。不完整的字节可在比特处理器306内通过填充残留比特来得到维护。
CDB 308可包括合适的逻辑、电路和/或代码,用作编码数据缓存以保存编码数据。
SCB 310可包括合适的逻辑、电路和/或代码,用于存储对应的编码数据内的起始码信息。存储的起始码可用于标识数据边界以用于示例应用例如PVR。
操作中,输入比特流首先被加载到FIFO 302中。解析器304从FIFO 302中读出字节,并在存在报头的情况下去除报头,例如TS报头222a和/或PES报头212。在检测到起始码212以及检测到起始码竞争阻止比特串的情况下,可分别将sc-det标记和emu-det标记设置为逻辑真。针对从输入比特流中读出的后续比特,解析器304可将ES字节标记设置为逻辑真。可对sc-det标记、emu-det标记和ES字节标记进行设置以提供指示给比特处理器306。在来自FIFO 302的AVS PES例如AVS PES 210包含AVS PES起始码和AVS ES起始码两者的情况下,解析器304可移除或忽略起始码竞争阻止比特串,以构成修改后的字节。不完整的字节可通过填充残留比特的方法来维护。修改后的字节可输出给编码数据缓存(CDB)308。比特处理器306可将接收到的起始码传递给起始码缓存(SCB)310,且接收到的起始码被存储在起始码缓存(SCB)310中。
图4是根据本发明实施例的AVS ES解析器操作的状态图。参见图4,示出了具有状态0、状态1、状态2、状态3、状态4和状态5、sc-det标记和emu-det标记的示例状态机。
在状态0中,AVS ES解析器等待第一个0字节的到来。状态1中,AVS ES解析器已经收到的一个0字节。状态2中,AVS ES解析其接收到两个后续0字节。状态3中,检测到起始码。状态4中,检测到接收的比特流中的第一个起始码。状态5中,在接收的比特流中检测到起始码竞争阻止比特串。为比特处理器306设置sc-det标记,以表明检测到起始码比特。为比特处理器306设置emu-det标记以表明检测到起始码竞争阻止比特串。
该状态机可根据不同的输入字节值在不同状态之间进行转换。该状态机可复位并从状态0开始。在状态0中,输入“00”将使其从状态0转换至状态1,否则该状态机仍处于状态0。在状态1中,输入“00”将使其从状态1转换至状态2,否则该状态机复位至状态0。在状态2中,输入“00”将保持该状态机处于状态2,而输入“01”将导致从状态2到状态3的转换。此外,输入“02”将导致从状态2到状态5的转换。否则,该状态机将复位到状态0。
在状态3中,已经检测到了起始码,并且设置了sc-det标记以提供指示给比特处理器306以通知检测到了起始码。随后的任意两个输入字节将导致发生从状态3到状态4的转换。在状态4内,紧跟针对接收的比特流中的新PES的两个任意字节后,发生到状态0的转换。在状态5中,已经检测到了起始码竞争阻止比特串,并为比特处理器306设置了emu-det标记,从而通知或指示检测到了起始码竞争阻止比特串。
图5是根据本发明实施例的AVS ES比特处理器操作的状态图。参看图5,示出了具有状态0、状态1、状态2、和状态3、res-bits计数器、sc-det标记和emu-det标记的示例状态机。
res-bits计数器表示缓存在比特处理器306中的不完整字节的比特数量。sc-det标记和emu-det标记的定义与图4中描述的相同。在状态0中,AVS ES比特处理器没有缓存的不完整字节,res-bits=0。状态1中,AVS ES比特处理器有一个缓存的不完整字节,res-bits=6。状态2中,AVS ES比特处理器有一个缓存的不完整字节,res-bits=4。状态3中,AVS ES比特处理器有一个缓存的不完整字节,res-bits=2。
该状态机可根据不同的输入比特类型例如起始码比特和起始码竞争阻止比特串在不同状态之间进行转换。该状态机可复位并从状态0开始。当没有检测到起始码竞争阻止比特串的情况下(emu-det=0),该状态机保持在状态0。当检测到起始码竞争阻止比特串时(emu-det=1),该状态机从状态0转换到状态1。在状态1中,在没有检测到起始码竞争阻止比特串和起始码比特两者时(emu-det=0&&sc-det=0),该状态机保持在状态1。在检测到起始码的情况下(sc-det=1),该状态机可以从状态1转换回状态0。
在检测到起始码竞争阻止比特串的情况下(emu-det=1),该状态机将从状态1转换至状态2。在状态2中,在没有检测到起始码竞争阻止比特串和起始码比特两者时(emu-det=0&&sc-det=0),该状态机保持在状态2。在检测到起始码的情况下(sc-det=1),该状态机可以从状态2转换回状态0。在检测到起始码竞争阻止比特串的情况下(emu-det=1),该状态机将从状态2转换至状态3。在状态3中,在没有检测到起始码竞争阻止比特串和起始码比特两者时(emu-det=0&&sc-det=0),该状态机保持在状态3。在检测到起始码或起始码竞争阻止比特串的情况下(sc-det=1||emu-det=1),该状态机可以从状态3转换回状态0。在状态机的每种状态下,若检测到了起始码,则将起始码条目添加入SCB 310中。该状态机在每个接收的比特流的结尾将复位res-bits计数器。
图6是根据本发明实施例的有界AVS ES解析器操作的状态图。参考图6,示出了示出了具有状态A、状态B、状态0、状态1、状态2、状态3、状态4和状态5的示例状态机。受PES报头数据长度(PES_header_data_length)所约束的AVS ES解析器被称为有界AVS ES解析器。
状态A中,在有界AVS PES解析器中检查PES报头212。状态B中,在有界AVS PES解析器中检查可选的另一PES报头。状态0、状态1、状态2、状态3、状态4和状态5的定义与图4中描述的相同。
该状态机可在找到PES报头212时从状态A开始。状态A中,检查PES报头212。在PES报头212的数据长度(PES_header_data_length)>0时,该状态机从状态A转换到状态B。在没有检测到PES报头的情况下,即当PES报头212的数据长度=0时,该状态机从状态A转换到状态0。在状态B中,检测PES可选报头字段。在PES可选报头的数据长度=0时,即没有检测到PES可选报头时,该状态机从状态B转换到状态0。针对接收的比特流中的新PES包,该状态机可复位并从状态0开始。该状态机可执行与图4所描述的相同的操作。就此而言,状态机可根据不同的输入字节值在状态0到状态5之间进行转换,除了在检测到起始码的每个状态中(例如,状态3和状态4)将检测PES包长度(PES_packet_length)212C之外。检测到PES包长度212c为0,则会使状态机从相应的状态例如状态或状态转换回状态A。比特处理器306与图5中描述的相同。
图7是根据本发明实施例的AVS TS解析器操作的状态图。参见图7,示出了具有状态A、状态B、状态C、状态0、状态1、状态2、状态3、状态4和状态5的示例状态机。
状态A中,AVS TS解析器检查PES报头例如PES报头212。状态B中,AVS TS解析器检查可选的PES报头。状态C中,AVS TS解析器检查TS报头例如222a。状态0、状态1、状态2、状态3、状态4和状态5的定义与图4中描述的相同。
当具有包单元起始标志(PUSI)的TS包指示PES报头例如PES报头212的开始时,该状态机可从状态C开始。当PUSI=1时,TS有效载荷的第一字节即为PES报头212,否则,当前TS有效载荷中没有PES报头。PUSI=1时状态机转换到状态A,PUSI=0时转换到状态0。
状态A中,检查PES报头212。在PES报头212的数据长度>0时,该状态机从状态A转换到状态B。在没有检测到PES报头的情况下,即当PES报头212的数据长度=0时,该状态机从状态A转换到状态0。在状态B中,检测PES可选报头字段。在PES可选报头的数据长度=0时,即当时没有检测到PES可选报头时,该状态机从状态B转换到状态0。状态0中,针对接收的比特流中的新PES包,该状态机可复位并从状态0开始。
该状态机可执行与图6所描述的相同的操作,根据不同的输入字节值在状态0到状态5、状态A和状态B之间进行转换,但是,对于即将到来的两个输入字节“00”,状态3将转换到状态0,并且具有两个任意输入字节的情况下,状态4将转换到状态0。此外,在状态0到状态5的每个状态中,都会检查TS包长度(TS_packet_length,TS有效载荷)。检测到TS包长度例如224b为0,则会使状态机从相应的状态例如状态3或状态4转换回状态C。比特处理器306与图5中描述的相同。
在AVS系统内,某些比特流,例如无界PES流和PUSI位未设置的TS流,用比特模式0x000001E0~0x000001EF来标识PES包。例如,比特模式0x000001000001E0可出现在图片的0片中,而0x000001可解译为视频起始码前缀,其后跟着是PES报头。为了避免这种含糊不清,在复用过程中将对比特流增加约束。就此而言,约束可以加在PES有效载荷和/或PES报头上,例如,PES有效载荷不以000001结尾,和/或PES报头直接插在起始码之前。
图8是根据本发明实施例的具有PES有效载荷约束操作的无界PES解析器的状态图。参见图8,示出了具有状态0、状态1、状态2、状态3、状态4、状态5和状态6、zero-cnt计数器、sc-det标记、emu-det标记和pes-det标记的示例状态机。
状态0中,AVS PES解析器等待第一个零字节的到来。状态1中,AVS PES解析器已经接收到了一个零字节。状态2中,AVS PES解析器接收到了两个连续的零字节。状态3中,检测到起始码。状态4中,检测到AVS起始码,即接收的比特流的第一个起始码。状态5中,在接收的比特流中检测到起始码竞争阻止比特串。状态6中,检测PES报头。zero-cnt计数器可用于对状态2中两个连续接收到的零后面的零的数量进行计数。sc-det标记设置来为比特处理器306指示检测到起始码比特。emu-det标记设置来为比特处理器306指示检测到起始码竞争阻止比特串。pes-det标记设置来为比特处理器306指示检测到PES报头。
该状态机可根据不同的输入字节值在不同的状态之间进行转换。该状态机可复位并从状态0开始。在状态0中,输入“00”将导致从状态0到状态1的转换。否则,该状态机保持在状态0。状态1中,两个输入字节“00”将发生从状态1到状态2的转换。否则,该状态机将从状态1复位回状态0。在状态2中,输入“00”将使状态保持在状态2,输入“01”将导致从状态2到状态3的转换,输入“02”将导致从状态2到状态5的转换。否则,该状态机将从状态2复位回状态0。该状态机处于状态2后接收到的零的数量(zero-cnt)被计数。
在状态3中,检测到起始码并将起始码检测标记sc-det设置为逻辑真(1)。该状态机在收到“00”~“B8”范围内的两个输入字节时,将从状态3转换到状态4。在该状态机收到“E0”~“EF”范围内的两个输入字节时,将从状态3转换到状态6。在状态4中,意味着检测到AVS起始码,该状态机将通过后续两个任意输入字节而返回状态0。在状态5中,该状态机将向比特处理器306断言或指示检测到起始码竞争阻止比特串,并将emu-det标记设置为逻辑真(1)。后续接收到的两个任意输入字节将使该状态机转换回状态0。在状态6中,该状态机指示出检测到PES报头。PES报头检测标记pes-det被设置为逻辑真(1)。在状态2中计数的零的数量zero-cnt将用于状态6,以确定应该发生哪种状态转换。zero-cnt>1,状态机转换到状态2;zero-cnt=1,状态机转换到状态1;zero-cnt=0,则转换回状态0。然后在状态0中,该状态机针对新的PES重新开始。比特处理器306的操作与图5中描述的相同。
图9是根据本发明实施例的具有PES报头约束的无界PES解析器的状态图。参见图9,示出了具有状态0、状态1、状态2、状态3、状态4、状态5和状态6、zero-cnt计数器、sc-det标记、emu-det标记和pes-det标记的示例状态机。
该状态机的操作与图8中描述的类似,根据不同的输入字节值在状态0到状态6之间进行转换,但是,在状态6将收到两个输入字节“00”时,从状态6返回状态0。否则,状态即将会停留在状态6。比特处理器306的操作与图5中描述的相同。
图10是根据本发明实施例的未使用PUSI且具有PES有效载荷约束操作的AVS TS解析器的状态图。参见图10,示出了具有状态C、状态0、状态1、状态2、状态3、状态4、状态5和状态6的示例状态机。
该状态机从检测到TS报头的状态C开始。在收到两个任意输入字节的情况下,该状态机转换到状态0。该状态机可以按照如上图8描述的相同方式在状态0到状态6之间进行转换,但是需要在状态0到状态6的每个状态中检查TS包长度(TS有效载荷)。检测到TS包长度例如224b为零,将驱使状态机从相应的状态例如状态3或状态4返回到状态C。比特处理器306的操作与图5中描述的相同。
图11是根据本发明实施例的未使用PUSI且具有PES报头约束操作的AVS TS解析器的状态图。参看图11,示出了具有状态C、状态0、状态1、状态2、状态3、状态4、状态5和状态6的示例状态机。
该状态机可以以与图10描述相似的方式工作。就此而言,该状态机可根据不同的输入比特值在状态0到状态6以及状态C之间进行转换,但是,状态6在收到两个输入字节“00”时回到状态0,否则该状态机将保持在状态6。比特处理器306的操作与图5中描述的相同。
本发明提出了一种用于AVS的统一起始码竞争阻止比特处理的方法和系统。根据本发明的各个实施例,解析器304可接收例如视频单元内的编码数据,例如以起始码212A开始的AVS PES包210。解析器304可搜索接收到的数据,以识别出包括有多个起始码竞争阻止比特的起始码竞争阻止比特串,其具有任意的比特串长度,例如2比特。一旦检测到起始码竞争阻止比特串,解析器304处理接收的数据,发信号给或提供指示给比特处理器306以告知检测到起始码竞争阻止比特串,如上结合图4、图6、图7、图8、图9、图10和图11所公开的。
比特处理器306可移除或忽略起始码竞争阻止比特串并继续其解码处理过程,如上结合图5所述。视频单元可以是图1所示的ES/PES/TS的形式。每个ES/PES/TS可以起始码开头。ES可在一个或多个PES包内传送,而每个PES包例如AVS PES 210可在一个或多个TS包例如222、224、226和228内传送。接收的数据内的每个起始码可由解析器304检测并进行解析。检测到的起始码可存储在SCB 310内以便各种应用例如PVR应用所使用。对于PUSI位未设置的无界PES和TS,对应的比特流可按图8、图9、图10和图11的描述进行解析和处理,且加入约束,例如,对应的PES报头不可以000001的比特串结尾和/或对应的PES报头只能直接插在无界PES的起始码之前。
本发明的另一实施例提供一种可机读存储器,其内存储的计算机程序具有至少一个代码段,由机器执行而使所述机器执行上述的用于AVS的统一起始码竞争阻止比特处理的步骤。
因此,本发明可以用硬件、软件或者硬件和软件的组合实现。本发明可以在至少一个计算机系统的集中模式下实现,或者在分布式模式下实现,在所述分布式模式下,不同组件分布在几个互联的计算机系统中。采用任何适用于执行本发明介绍的方法的计算机系统或者其他设备都是合适的。一种硬件、软件和固件的典型组合是具有计算机程序的通用计算机系统,当程序被加载和执行时,控制所述计算机系统以使其执行本申请描述的方法。
本发明还可以嵌入到计算机程序产品内,所述计算机程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,通过运行,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或符号;b)以不同的格式再现。然而,本领域技术人员能够理解的计算机程序的其它含义也被本发明所包含。
虽然本发明是通过几个具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或具体情况,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。

Claims (10)

1、一种处理数据的方法,其特征在于,所述方法包括:
接收数据流内包含至少一个起始码的编码数据;
检测嵌入在所述接收的编码数据内的起始码竞争阻止比特串,其中所述嵌入的起始码竞争阻止比特串具有任意的比特串长度;以及
基于对所述起始码竞争阻止比特串的检测,处理所述接收的编码数据。
2、根据权利要求1所述的方法,其特征在于,所述方法包括:从所述接收的编码数据中移除所述嵌入的起始码竞争阻止比特串。
3、根据权利要求1所述的方法,其特征在于,所述任意比特串长度是2比特。
4、根据权利要求1所述的方法,其特征在于,所述数据流是基本流和/或封包基本流和/或传输流。
5、根据权利要求1所述的方法,其特征在于,所述方法包括:存储所述至少一个起始码。
6、根据权利要求5所述的方法,其特征在于,所述存储至少一个起始码用于个人视频录制应用。
7、一种处理数据的系统,其特征在于,所述系统包括:
用于接收数据流内包含至少一个起始码的编码数据的一个或多个处理器;
所述一个或多个处理器检测嵌入在所述接收的编码数据内的起始码竞争阻止比特串,其中所述嵌入的起始码竞争阻止比特串具有任意的比特串长度;以及
所述一个或多个处理器基于对所述起始码竞争阻止比特串的检测,处理所述接收的编码数据。
8、根据权利要求7所述的系统,其特征在于,所述一个或多个处理器从所述接收的编码数据中移除所述嵌入的起始码竞争阻止比特串。
9、根据权利要求7所述的系统,其特征在于,所述任意比特串长度是2比特。
10、一种可机读存储器,其特征在于,其内存储的计算机程序包括至少一个用于处理数据的代码段,机器执行所述至少一个代码段可使该机器执行如下步骤:
接收数据流内包含至少一个起始码的编码数据;
检测嵌入在所述接收的编码数据内的起始码竞争阻止比特串,其中所述嵌入的起始码竞争阻止比特串具有任意的比特串长度;以及
基于对所述起始码竞争阻止比特串的检测,处理所述接收的编码数据。
CN2008101089977A 2007-06-05 2008-06-05 处理数据的方法和系统 Expired - Fee Related CN101321279B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US94206107P 2007-06-05 2007-06-05
US60/942,061 2007-06-05
US12/116,519 2008-05-07
US12/116,519 US9503777B2 (en) 2007-06-05 2008-05-07 Method and system for unified start code emulation prevention bits processing for AVS

Publications (2)

Publication Number Publication Date
CN101321279A true CN101321279A (zh) 2008-12-10
CN101321279B CN101321279B (zh) 2012-03-21

Family

ID=39616831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101089977A Expired - Fee Related CN101321279B (zh) 2007-06-05 2008-06-05 处理数据的方法和系统

Country Status (6)

Country Link
US (1) US9503777B2 (zh)
EP (1) EP2001219A1 (zh)
KR (1) KR100952352B1 (zh)
CN (1) CN101321279B (zh)
HK (1) HK1125243A1 (zh)
TW (1) TWI426783B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109982091A (zh) * 2019-04-26 2019-07-05 京东方科技集团股份有限公司 一种图像的处理方法及装置
CN113141520A (zh) * 2020-01-17 2021-07-20 北京达佳互联信息技术有限公司 视频流传输方法、装置、电子设备及存储介质
CN115866254A (zh) * 2022-11-24 2023-03-28 亮风台(上海)信息科技有限公司 一种传输视频帧及摄像参数信息的方法与设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503777B2 (en) 2007-06-05 2016-11-22 Broadcom Corporation Method and system for unified start code emulation prevention bits processing for AVS
US8576918B2 (en) * 2007-07-09 2013-11-05 Broadcom Corporation Method and apparatus for signaling and decoding AVS1-P2 bitstreams of different versions
TWI361009B (en) * 2008-03-06 2012-03-21 Realtek Semiconductor Corp Method and apparatus for processing audio/vedio bi
KR20100094709A (ko) * 2009-02-19 2010-08-27 (주)휴맥스 부호화/복호화 방법 및 장치
WO2011068807A1 (en) * 2009-12-01 2011-06-09 Divx, Llc System and method for determining bit stream compatibility
KR101857416B1 (ko) * 2011-06-13 2018-05-16 한국전자통신연구원 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법
US9319721B2 (en) * 2011-10-13 2016-04-19 Electronics And Telecommunications Research Institute Method of configuring and transmitting an MMT transport packet
US10032034B2 (en) 2015-10-06 2018-07-24 Microsoft Technology Licensing, Llc MPEG transport frame synchronization
US10271069B2 (en) * 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01117578A (ja) 1987-10-30 1989-05-10 Nec Corp ビディオ・テープレコーダの録画予約方式及びその装置
CA2273940C (en) * 1997-10-03 2008-12-09 Sony Corporation Encoded stream splicing device and method, and an encoded stream generating device and method
US20030215019A1 (en) 1997-11-10 2003-11-20 Nec Corporation Audio/video separator including a user data start address register
US6963612B2 (en) 2001-08-31 2005-11-08 Stmicroelectronic, Inc. System for detecting start codes in MPEG video streams and method of operating the same
WO2003063500A1 (en) 2002-01-22 2003-07-31 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
US7248740B2 (en) * 2002-04-19 2007-07-24 Microsoft Corporation Methods and systems for preventing start code emulation at locations that include non-byte aligned and/or bit-shifted positions
US7720096B2 (en) * 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
US9503777B2 (en) 2007-06-05 2016-11-22 Broadcom Corporation Method and system for unified start code emulation prevention bits processing for AVS

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109982091A (zh) * 2019-04-26 2019-07-05 京东方科技集团股份有限公司 一种图像的处理方法及装置
CN109982091B (zh) * 2019-04-26 2022-04-22 京东方科技集团股份有限公司 一种图像的处理方法及装置
CN113141520A (zh) * 2020-01-17 2021-07-20 北京达佳互联信息技术有限公司 视频流传输方法、装置、电子设备及存储介质
CN113141520B (zh) * 2020-01-17 2022-04-01 北京达佳互联信息技术有限公司 视频流传输方法、装置、电子设备及存储介质
CN115866254A (zh) * 2022-11-24 2023-03-28 亮风台(上海)信息科技有限公司 一种传输视频帧及摄像参数信息的方法与设备

Also Published As

Publication number Publication date
CN101321279B (zh) 2012-03-21
US9503777B2 (en) 2016-11-22
HK1125243A1 (en) 2009-07-31
US20080304757A1 (en) 2008-12-11
EP2001219A1 (en) 2008-12-10
TW200917844A (en) 2009-04-16
TWI426783B (zh) 2014-02-11
KR20080107307A (ko) 2008-12-10
KR100952352B1 (ko) 2010-04-12

Similar Documents

Publication Publication Date Title
CN101321279B (zh) 处理数据的方法和系统
US10587286B1 (en) Methods and devices for handling equiprobable symbols in entropy coding
US6236432B1 (en) MPEG II system with PES decoder
US5376969A (en) Method and apparatus for conveying compressed video data over a noisy communication channel
US5333135A (en) Identification of a data stream transmitted as a sequence of packets
EP1500278B1 (en) Method and system for preventing start code emulation at non-byte aligned and/or bit-shifted locations
US6725412B1 (en) Low latency data encoder
US20060013123A1 (en) Method and apparatus for processing transmission error in DMB system
US7974307B2 (en) Methods and apparatus for data decoding/encoding and for searching for/inserting stuffing bytes
CN101675473B (zh) 用于处理编码的音频数据的方法和装置
US6331829B2 (en) Decoding device and method
US8718131B2 (en) Method and apparatus for generating and processing packet in MPEG-2 transport stream
US20090003429A1 (en) Apparatus And Method For Processing A Bitstream
RU2450344C2 (ru) Устройство и метод формирования потока данных и устройство и метод считывания потока данных
US7349428B2 (en) Data alignment of the packetized elementary streams in the coded data buffer for dual decode
US20090228763A1 (en) Method and apparatus for encoding and decoding data with error correction
JP2006519422A (ja) 構造化されたドキュメントのエンコーディング方法
KR100500196B1 (ko) 멀티미디어 메타데이터의 오류 내성 부호화/복호화 장치및 방법
KR100296684B1 (ko) 오디오/비디오 압축 코드 데이타를 디코딩하기 위한 디코딩 방법 및 디코더
CN109743581A (zh) 编码端处理方法、解码端处理方法及防止伪起始码的方法
CN102802023B (zh) 一种快速防止出现伪起始码的方法及装置
KR0177314B1 (ko) 엠펙시스템에서의 전송패킷 보호장치
JP2004159015A (ja) データ多重化方法、データ逆多重化方法
KR0181080B1 (ko) 엠펙 시스템의 이에스씨알 부호화장치
KR20030072155A (ko) MPEG2 Transport Stream(TS)의 동기 신호 검색 및 생성 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1125243

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1125243

Country of ref document: HK

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180503

Address after: Singapore Singapore

Patentee after: Avago Technologies Fiber IP Singapore Pte. Ltd.

Address before: Park Road, Irvine, California, USA, 16215, 92618-7013

Patentee before: Zyray Wireless Inc.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120321

Termination date: 20180605