
技术领域technical field
本发明涉及用于产生屏幕显示(OSD)消息的方法和设备。更具体地说,本发明涉及通过使用一位象素来降低译码/显示系统的存贮器带宽要求,以访问为一个OSD区预先定义的调色板。The present invention relates to methods and apparatus for generating On Screen Display (OSD) messages. More specifically, the present invention relates to reducing the memory bandwidth requirements of a decoding/display system by using one bit of pixel to access a predefined color palette for an OSD area.
背景技术Background technique
在用户电子产品中屏幕显示消息起着重要的作用,为用户提供交互信息,引导他们使用和配置该产品。OSD的其它重要特征包括提供闭合字幕(Closed Captioning)和信道标识(logos)显示的能力。On-screen messages play an important role in consumer electronic products, providing interactive information to users and guiding them to use and configure the product. Other important features of OSD include the ability to provide closed captioning (Closed Captioning) and channel logos (logos) display.
然而,数字视频技术标准的提高引起了产生和显示OSD消息总量增加的问题。例如,特殊的高清晰度电视(HDTV)规格,与在一个窗中最多128个字符的现在美国全国电视制式委员会规格相比,HDTV在四个窗中必须显示高达216个字符。这些新的规格对电视信号的译码/显示系统增加了重大的负担,它们必须对输入的编码数据流译码,并以最小的延迟将该译码的数据提供给显示系统。因为OSD消息必须用视频数据显示(重叠),该译码/显示系统的微处理器必须指定一个存贮器的带宽部分,以执行OSD功能,从而增加了译码/显示系统的存贮器带宽需要和总的计算开销。However, the improvement of digital video technical standards has caused a problem that the total amount of OSD messages to be generated and displayed has increased. For example, a particular High Definition Television (HDTV) specification, HDTV must display up to 216 characters in four windows, compared to the current NTSC specification which has a maximum of 128 characters in one window. These new specifications place a significant burden on television signal decoding/display systems which must decode the incoming encoded data stream and provide this decoded data to the display system with minimal delay. Because the OSD message must be displayed (overlaid) with video data, the microprocessor of the decoding/display system must allocate a bandwidth portion of the memory to perform the OSD function, thereby increasing the memory bandwidth of the decoding/display system Requires and total computational overhead.
因此,需要一种方法和设备,用于产生屏幕显示(OSD)消息,而并不增加译码/显示系统的硬件需要,比如存贮器带宽。Accordingly, there is a need for a method and apparatus for generating on-screen display (OSD) messages without increasing the hardware requirements, such as memory bandwidth, of the decoding/display system.
发明内容Contents of the invention
本发明涉及,通过构成具有一组“一位”象素的有效OSD位流,来产生OSD消息的设备及其伴随的方法。The present invention relates to apparatus and accompanying methods for generating OSD messages by constructing an active OSD bitstream having a set of "one bit" pixels.
更具体地说,根据本发明,一个OSD单元从存储装置恢复OSD位流。该OSD位流包含OSD首标和OSD数据。该OSD首标包含用于编程该OSD单元的彩色调色板并提供关于OSD数据处理的指令的控制信息。该控制信息是由译码/显示系统的处理器编程的。如果在OSD首标中启动了该“压缩象素模式”,则该OSD单元将该OSD位流中的OSD数据的每一位作为“1-位”象素处理。即,每个OSD数据位代表两个可能变址的一个,其中每个变址定义许多可能的OSD调色板入口之一。例如,如果有由4位地址可访问的16个可能的入口,则该“1-位”象素只使用单一的位可访问两个可能的入口。相继的3个OSD数据字节的组代表一个OSD象素的实际色度和亮度级。More specifically, according to the present invention, an OSD unit retrieves an OSD bitstream from a storage device. The OSD bitstream contains an OSD header and OSD data. The OSD header contains control information for programming the color palette of the OSD unit and providing instructions on OSD data processing. The control information is programmed by the processor of the decoding/display system. If the "packed pixel mode" is enabled in the OSD header, the OSD unit treats each bit of OSD data in the OSD bitstream as a "1-bit" pixel. That is, each OSD data bit represents one of two possible indices, where each index defines one of many possible OSD palette entries. For example, if there are 16 possible entries accessible by a 4-bit address, then the "1-bit" pixel can access two possible entries using only a single bit. Successive groups of 3 OSD data bytes represent the actual chrominance and luminance levels of an OSD pixel.
现在将根据附图描述本发明的这些和其它方面。These and other aspects of the invention will now be described with reference to the accompanying drawings.
附图简述Brief description of the drawings
在附图中:In the attached picture:
图1是根据本发明的一方面的包括OSD单元的译码/显示系统的框图;1 is a block diagram of a decoding/display system including an OSD unit according to an aspect of the present invention;
图2是表明采样压缩象素位流的结构的框图;和Figure 2 is a block diagram illustrating the structure of a sampled compressed pixel bitstream; and
图3是表示用于构成具有一组1-位象素的有效OSD位流的方法的流程图。Fig. 3 is a flowchart illustrating a method for constructing an active OSD bitstream having a set of 1-bit pixels.
具体实施方式Detailed ways
图1表示对于电视信号100的译码/显示系统(以后称为译码系统)的框图。该译码系统包括处理器130,随机存取存贮器(RAM)140,只读存储器(ROM)142,OSD单元150,视频译码器160,和混合器170。将混合器170的输出经路径180耦合到显示装置190。FIG. 1 shows a block diagram of a decoding/display system for a television signal 100 (hereinafter referred to as a decoding system). The decoding system includes a processor 130 , a random access memory (RAM) 140 , a read only memory (ROM) 142 , an OSD unit 150 , a video decoder 160 , and a mixer 170 . The output of mixer 170 is coupled to display device 190 via path 180 .
下面根据MPEG标准,ISO/IEC国际标准11172(1991)(一般称为MPEG-1格式)和13818(1995)(一般称为MPEG-2格式)来描述本发明。然而,本领域的技术人员将认识到,可将本发明应用到或用于实现其它编码/译码格式的其它译码系统。The present invention is described below in terms of MPEG standards, ISO/IEC International Standards 11172 (1991) (commonly referred to as the MPEG-1 format) and 13818 (1995) (commonly referred to as the MPEG-2 format). However, those skilled in the art will recognize that the present invention may be applied or used to implement other coding systems implementing other encoding/decoding formats.
在该最佳实施例中,译码系统100对各种数据流(位流)120执行实时的声频和视频解压缩。该位流120可包括按照MPEG-1和MPEG-2标准编码的声频和视频基本流。由编码器(未示出)产生该编码位流120,并通过通信信道发送到该译码系统。该编码位流包含一组图像的编码表示,并可包括与这些图像相关的声频信息,比如,多媒体数据流。该多媒体源可以是HDTV台,视盘,有线电视台等。依次,译码系统100对该编码位流译码,以产生一组译码图像,以便在显示器190上与相关的声频信息同步地显示。然而,对于本发明的目的,译码系统100的声频译码功能未讨论。In the preferred embodiment, the decoding system 100 performs real-time audio and video decompression of various data streams (bitstreams) 120 . The bitstream 120 may include audio and video elementary streams encoded in accordance with the MPEG-1 and MPEG-2 standards. The encoded bitstream 120 is generated by an encoder (not shown) and sent to the decoding system over a communication channel. The coded bitstream contains a coded representation of a set of pictures and may include audio information associated with those pictures, eg, a multimedia data stream. The multimedia source can be an HDTV station, a video disc, a cable TV station, and the like. In turn, the decoding system 100 decodes the encoded bitstream to generate a set of decoded images for display on the display 190 in synchronization with the associated audio information. However, for the purposes of this disclosure, the audio decoding functionality of the decoding system 100 is not discussed.
更具体地说,处理器130接收位流120和位流110作为输入。位流110可包括各种控制信号和未包括在位流120中的其它数据位流。例如,可将信道译码器或传输单元(未示出)配置在传输信道和译码系统100之间,以实现数据分组的语法分析和向数据流或控制流的发送。More specifically, processor 130 receives bitstream 120 and bitstream 110 as input. Bitstream 110 may include various control signals and other data bitstreams not included in bitstream 120 . For example, a channel decoder or transmission unit (not shown) may be disposed between the transmission channel and the decoding system 100 to enable parsing and sending of data packets to a data stream or a control stream.
在该最佳实施例中,处理器130执行各种控制功能,包括但却不限于,提供控制数据给视频译码器160和OSD单元150,管理对存贮器的访问和控制该译码图像的显示。尽管本发明描述了单个的处理器,但本领域的技术人员会知道,该处理器130可包括各种专用的装置以管理特定的功能,例如,存贮器控制器,微处理器接口单元等。In the preferred embodiment, processor 130 performs various control functions including, but not limited to, providing control data to video decoder 160 and OSD unit 150, managing access to memory and controlling the decoded image display. Although the present invention describes a single processor, those skilled in the art will appreciate that the processor 130 may include various dedicated devices to manage specific functions, such as memory controllers, microprocessor interface units, etc. .
处理器130接收位流120,并经视频译码器160将这些数据分组写入存贮器140。在经存贮器数据总线传送到存储器之前,该位流可选择地通过先进先出[First-In-First-out(FIFO)]缓存器。另外一般还有另一个存贮器(未示出),它只由处理器130使用。Processor 130 receives bit stream 120 and writes these data packets into memory 140 via video decoder 160 . The bit stream optionally passes through a First-In-First-out (FIFO) buffer before being transferred to the memory via the memory data bus. There is typically another memory (not shown) which is used only by processor 130.
存储器140用于存储一组数据包括压缩的数据,译码图像和OSD位表。照此,一般将该存贮器映像到各种缓存器,例如,用于存储压缩数据的位缓存器,用于存贮OSD位表的OSD缓存器,用于存贮图像帧的各种帧缓存器,和用于存贮译码图像的显示缓存器。The memory 140 is used to store a set of data including compressed data, decoded images and OSD bit tables. As such, this memory is typically mapped to various registers, for example, bit buffers for storing compressed data, OSD buffers for storing OSD bit tables, various frame buffers for storing image frames buffer, and a display buffer for storing decoded images.
根据MPEG标准,视频译码器160译码在存贮器140中的该压缩数据,以便在该存贮器中重建该编码图像。在一些情况,该译码图像是一个差信号,将其加到存贮的标准图像,以便产生实际的图像例如,方便于译码运动补偿图像。一旦重建了图像,在显示前经混合器170存储在显示缓存器中。According to the MPEG standard, the video decoder 160 decodes the compressed data in the memory 140 to reconstruct the coded picture in the memory. In some cases, the decoded picture is a difference signal which is added to the stored standard picture to produce the actual picture, eg, to facilitate decoding of a motion compensated picture. Once the image is reconstructed, it is stored in a display buffer via mixer 170 prior to display.
同样,OSD单元150使用存贮器140以便存储该OSD位表或OSD规范。该OSD单元使用户(制造者)为重叠到该译码图像上的每一场定义位表。该OSD位表可包含关于特定用户电子产品的结构和选择的信息。另一方面,该OSD位表可包含有关从有线电视,视盘等发送的闭合字幕和信道信息单元的信息。将OSD位表定义为可编程位置和大小的一组区(一般为矩形),其中每个具有一个唯一的可用彩色的调色板。Likewise, OSD unit 150 uses memory 140 to store the OSD bit table or OSD specification. The OSD unit lets the user (manufacturer) define bitmaps for each field superimposed on the decoded image. The OSD bit table may contain information about the configuration and selection of a particular consumer electronics product. Alternatively, the OSD bit table may contain information about closed caption and channel information elements transmitted from cable TV, video disc, and the like. An OSD bitmap is defined as a set of regions (typically rectangular) of programmable location and size, each of which has a unique palette of available colors.
为了用户指定的目的将该OSD位表写入存贮器140的OSD缓存器。然而,本领域的技术人员将认识到,ROM142或其它等效的存储装置也可用于这个功能。The OSD bit table is written to the OSD buffer of memory 140 for user-specified purposes. However, those skilled in the art will recognize that ROM 142 or other equivalent storage devices could also be used for this function.
当为一个帧的特定图像启动该OSD功能时,处理器130操作在存贮器140中的数据,以产生OSD位流。该OSD位流包括OSD首标和OSD数据(象素数据)。When the OSD function is activated for a particular image of a frame, processor 130 manipulates the data in memory 140 to generate an OSD bit stream. The OSD bitstream includes an OSD header and OSD data (pixel data).
更具体地说,处理器130编程(格式化和存贮)在存贮器140中的OSD首标。该OSD首标包括有关顶和底OSD场位表的位置,调色板数据,对下一个首标块的指针,和包括OSD分辨率,彩色和压缩的各种显示模式的信息。一旦编程了该OSD首标,该处理器130可根据特定的实施方案操作在存贮器140中的OSD数据。例如,根据选择的模式格式化该OSD数据,比如下面讨论的压缩象素模式。另外,该处理器可简单地用对该存贮器中的OSD数据的指针编程该OSD首标,这里无修改地恢复了该存贮的OSD数据以形成该OSD位流。More specifically, processor 130 programs (formats and stores) the OSD header in memory 140 . The OSD header includes information about the location of the top and bottom OSD field tables, palette data, a pointer to the next header block, and various display modes including OSD resolution, color, and compression. Once the OSD header is programmed, the processor 130 may manipulate the OSD data in memory 140 according to a particular implementation. For example, the OSD data is formatted according to a selected mode, such as the compressed pixel mode discussed below. Alternatively, the processor can simply program the OSD header with a pointer to the OSD data in memory, where the stored OSD data is restored without modification to form the OSD bitstream.
然后,处理器130报告启动状态,例如,OSD起动,给OSD单元150,它通过请求处理器130访问在存贮器140里存贮的OSD位流来响应。当该OSD单元读出该OSD首标,每个跟随有它们相关的OSD数据时,就形成和恢复了该OSD位流。在接收该OSD位流之后,该OSD单元根据指令或在该OSD首标中的选择模式处理该OSD象素数据。然后该OSD单元等待一对显示计数器(未示出),以获得标识在显示器上用于插入该OSD信息的正确位置。在该位置上,该OSD单元将它的输出送到混合器170。该OSD单元150的输出是代表各自亮度和色度的数字字的流或序列。当需要保持流经该OSD单元的必要数据(OSD位流)时可请求新的存贮器访问,以生成综合的OSD显示。当从该存贮器中读出现在OSD区域的OSD象素数据的最后一个字节时,读出下一个OSD首标,重复该处理直到包括本帧的最后一个OSD区。Processor 130 then reports an activation status, eg, OSD active, to OSD unit 150, which responds by requesting processor 130 to access the OSD bitstream stored in memory 140. The OSD bitstream is formed and restored when the OSD unit reads the OSD headers, each followed by their associated OSD data. After receiving the OSD bit stream, the OSD unit processes the OSD pixel data according to the command or selection mode in the OSD header. The OSD unit then waits for a pair of display counters (not shown) to identify the correct location on the display for inserting the OSD information. In this position, the OSD unit sends its output to mixer 170. The output of the OSD unit 150 is a stream or sequence of digital words representing respective luminance and chrominance. New memory accesses may be requested as needed to maintain the necessary data (OSD bitstream) flowing through the OSD unit to generate a composite OSD display. When the last byte of OSD pixel data present in the OSD area is read from the memory, the next OSD header is read, and this process is repeated until the last OSD area of the frame is included.
在本领域的技术人员会理解,上述的构成和恢复OSD位流的顺序是可改变的。例如,当处理器正格式化该OSD数据时,可从存贮器中读出该OSD首标,或者在未恢复整个OSD位流的情况下,该OSD单元可将该OSD数据处理和显示为OSD消息。Those skilled in the art will understand that the above-mentioned sequence of constructing and restoring the OSD bit stream can be changed. For example, the OSD header may be read from memory while the processor is formatting the OSD data, or the OSD unit may process and display the OSD data as OSD messages.
因为将OSD象素数据重叠到该译码图像上,该混合器170选择地将译码图像与该OSD象素数据混合或多路复用。即,该混合器具有在每个象素位置显示OSD象素,该译码图像的象素,或两种象素的组合(混合)的能力。这种能力使得能显示闭合字幕(只有OSD象素数据)或在译码图像上显示透明的信道标识(OSD象素和译码图像象素二者的组合)。Since the OSD pixel data is overlaid onto the decoded image, the mixer 170 selectively mixes or multiplexes the decoded image with the OSD pixel data. That is, the mixer has the ability to display an OSD pixel, a pixel of the decoded image, or a combination (blending) of both pixels at each pixel position. This capability enables the display of closed captions (OSD pixel data only) or transparent channel identification on the decoded image (combination of both OSD pixels and decoded image pixels).
视频译码器160和OSD系统150二者形成代表各组亮度和色度分量的数字字的流或序列。将这些视频分量表示数字字的序列经混合器170耦合到数-模转换器(DAC)185。将该亮度和色度表示数字字通过各自的DAC部分转换为模拟亮度和色度信号。Both video coder 160 and OSD system 150 form a stream or sequence of digital words representing sets of luma and chrominance components. These video components represent sequences of digital words coupled via mixer 170 to digital-to-analog converter (DAC) 185 . The luminance and chrominance representation digital words are converted to analog luminance and chrominance signals by respective DAC sections.
可将该OSD单元150用于在可显示的屏幕的任何部分上显示用户定义的位表,而与起动的视频区域的大小和位置无关。对于每个场可独立地定义这个位表,规定为一个OSD区域的集合。一个区域通常是由它的边界规定的矩形区,由位表定义它的内容。每个区域有一个与之相关的调色板,定义了一组可在该区中使用的彩色(比如4或16个彩色)。如果需要,这些彩色的一个可以是透明的,使得如上所述显示其整个的背景。The OSD unit 150 can be used to display user-defined bitmaps on any portion of the displayable screen, regardless of the size and location of the active video area. This bit table can be defined independently for each field, defined as a collection of OSD areas. A region is usually a rectangular area defined by its boundaries, and its contents are defined by bit tables. Each zone has a palette associated with it, defining a set of colors (eg 4 or 16 colors) that can be used in that zone. If desired, one of these colors can be transparent so that its entire background is shown as described above.
然而,处理对于一个帧的该OSD功能增加了处理器130的计算开销,更重要的是对该处理器的存贮器带宽施加了严重的负担,因为该处理器130必须服务于来自视频译码器160和OSD单元150二者的存贮器请求。因此,本发明通过实施该压缩象素模式减少了该OSD位流的尺寸。However, processing the OSD function for a frame increases the computational overhead of the processor 130 and more importantly places a severe burden on the processor's memory bandwidth since the processor 130 must serve Memory requests of both the memory controller 160 and the OSD unit 150. Therefore, the present invention reduces the size of the OSD bitstream by implementing the compressed pixel mode.
图2表示的采样“压缩象素”OSD位流200的结构。该OSD位流包括一组OSD首标210,每个跟随有OSD数据220。在一个实施例中,该首标是由5个64位字构成,跟随着任何数量的64位OSD数据(位表)字。该OSD首标210包括与该OSD区坐标214相联系的信息,对于特定OSD区的调色板的各种入口216,和各种功能码(位)212。在本领域的技术人员会理解,该OSD首标可是任何长度。一个较长的首标可提供更多的信息和选择,例如,具有更多入口的调色板,但以更高的计算开销为代价,即,需要更多的读和写周期。事实上,该OSD首标的内容是特定实施例的表示,且不限于图2中所示的具体装置。Figure 2 shows the structure of a sample "packed pixel"
该OSD区坐标214包括OSD区的左和右边缘的位置,即,行开始和停止装置,列开始和停止位置。对于隔行显示,该区坐标包括对应的OSD区的顶和底场象素位表的位置(指针)。最后,该OSD区坐标214包括对存贮器中的下一个首标块的指针。The OSD area coordinates 214 include the locations of the left and right edges of the OSD area, ie, row start and stop means, column start and stop locations. For an interlaced display, the field coordinates include the location (pointer) of the top and bottom field pixel bitmaps of the corresponding OSD field. Finally, the OSD area coordinates 214 include a pointer to the next header block in memory.
调色板216包括一组入口,其每个入口包含OSD象素的色度和亮度级的表示。将调色板信息216用于编程该OSD调色板。因为每个OSD首标包括调色板信息216,故对于每个OSD首标和它的相关的OSD数据字节可选择地改变其可利用的彩色。在该最佳实施例中,每个调色板入口包括16位数据,即,6位亮度Y,4位蓝色度Cb,和4位红色度Cr。将其余的两位用于执行与本发明相关的各种显示选择。在一个实施例中,在需要4位寻址每个入口的调色板上有16个入口。
功能码(位)212包括与各种模式有关的信息,包括但不限于,显示选择和OSD位流选择。在该最佳实施例中,该功能位包括一个单个的位用于表示“该压缩象素模式”是否起动。当启动了该“压缩象素模式”时,则在该OSD数据中的数据包括如下讨论的一组或一个运行的“1-位”象素。Function codes (bits) 212 include information related to various modes including, but not limited to, display selection and OSD bitstream selection. In the preferred embodiment, the function bits include a single bit indicating whether "the compressed pixel mode" is enabled. When the "Packed Pixel Mode" is enabled, then the data in the OSD data includes a group or a running "1-bit" pixel as discussed below.
OSD数据220包括该位表,以从左向右和从顶到底的顺序。将该OSD数据用定义每个象素的彩色变址(index)。在该最佳实施例中,如果起动了“压缩象素模式”,则该OSD数据220包括跟随一组数据字节240的变址字节230。将该变址字节230和数据字节240的长度设置为每个字节8位。该变址230包括具有4位地址的两个特定的调色板入口的地址。因此,通过将该OSD数据220中的每个数据位设置为高或低值,使用单个位或“1-位”象素可容易地接入两个可用的变址地址之一。The
而且,该压缩象素模式允许用户规定1-位象素的“运行”(run)。一个运行长度计数器通知该OSD单元在每个运行中有多少个1-位象素。将该运行长度计数写入该OSD首标中。Furthermore, the packed pixel mode allows the user to specify a "run" of 1-bit pixels. A run length counter tells the OSD unit how many 1-bit pixels are in each run. The run length count is written in the OSD header.
为了说明,图2示出了具有第一变址232和第二变址234的变址字节230,其中这些变址分别代表调色板入口5和12。如果每个OSD象素字节的最有效位(msb)对应于如果位是“1”时该第一象素输出,则将该变址字节的最高有效四位232送去寻址该调色板。如果位是“0”,则将该变址字节的最低有效四位234送去寻址该调色板。另外,如果该压缩运行长度计数等于20,则跟着该变址字节的下面的三个数据字节包括这些20个“1-位”象素。在每个运行的结束,跟随的字节必定是下一个变址字节,接着是下一个运行。To illustrate, FIG. 2 shows indexed
这种操作模式使处理器130获得了对于使用四位寻址该调色板的通常显示模式的4∶1压缩比率。对于结合有较大调色板的译码系统这种节省更为重要。在这种压缩象素模式中,对于给定运行的时间上只能选择两个彩色。然而,如闭合字幕等的应用只采用给定字符的两个彩色,则该压缩象素模式降低了存贮器操作的数量,而并未限制特定OSD方案的显示能力。另外,该处理器通过在一个运行的结束简单地改变该彩色变址230,能很容易地改变这两个彩色的选择,从而使彩色变化。最后,尽管对于OSD首标210选择了该压缩象素模式,该OSD单元可支援每个具有不同分辨率模式的多种首标块。因该OSD单元能在同样的视频屏幕上显示不同类型的分辨率或格式。This mode of operation enables processor 130 to achieve a 4:1 compression ratio for the normal display mode using four bits to address the palette. This savings is even more important for decoding systems incorporating larger palettes. In this compressed pixel mode, only two colors can be selected for a given run time. However, for applications such as closed captions that use only two colors for a given character, the compressed pixel mode reduces the number of memory operations without limiting the display capabilities of a particular OSD scheme. In addition, the processor can easily change the two color selections by simply changing the
用户经处理器130来控制该压缩象素模式的选择,这个控制可由OSD单元150使用检测需要减少存贮器访问的软件来实施。例如,该视频译码器160可接收一系列的需要附加存贮器访问的复杂的编码帧。为了减少在该OSD单元和该视频译码器之间的存贮器访问冲突,该处理器通过启动在该OSD位流中的该压缩象素模式可抵消该视频译码的增加要求。Selection of the compressed pixel mode is controlled by the user via processor 130. This control may be implemented by OSD unit 150 using software that detects the need for reduced memory access. For example, the video decoder 160 may receive a series of complex coded frames requiring additional memory access. To reduce memory access conflicts between the OSD unit and the video decoder, the processor can offset the increased requirements of the video decoding by enabling the compressed pixel mode in the OSD bitstream.
图3表示用于构成具有一组一位象素的OSD位流的方法300。由处理器130产生该OSD位流,并由OSD单元150处理。方法300通过产生具有一个压缩象素模式位的OSD首标,跟着有一组变址和数据字节。来构成OSD位流。FIG. 3 shows a method 300 for constructing an OSD bitstream having a set of one-bit pixels. The OSD bitstream is generated by processor 130 and processed by OSD unit 150 . Method 300 works by generating an OSD header with a packed pixel mode bit, followed by a set of index and data bytes. To form the OSD bit stream.
参看图3,方法300在步骤305开始并进入步骤310,这里将该OSD首标中的一位指定为压缩象素模式位。如果在该OSD首标中起动了该压缩象素模式,则跟随该首标的OSD数据位是1-位象素。如果未起动该压缩象素模式,则以正常格式处理该OSD数据位,例如该OSD数据位可以包括寻址调色板的4位地址(或者任何其它位流格式,比如,MPEG标准)。Referring to FIG. 3, method 300 begins at step 305 and proceeds to step 310, where a bit in the OSD header is designated as the compressed pixel mode bit. If the packed pixel mode is enabled in the OSD header, the OSD data bits following the header are 1-bit pixels. If the compressed pixel mode is not enabled, the OSD data bits are processed in normal format, eg the OSD data bits may include a 4-bit address addressing a palette (or any other bit stream format such as the MPEG standard).
在步骤320,方法300确定是否起动了该压缩象素模式。如果对该询问是一个否定的回答,方法300进入步骤325,使用非压缩格式产生该OSD数据字节。然后该方法300进入步骤370。At step 320, method 300 determines whether the compressed pixel mode is enabled. If the query is answered in the negative, method 300 proceeds to step 325 to generate the OSD data bytes using an uncompressed format. The method 300 then proceeds to step 370 .
如果对步骤320的询问是肯定的回答,方法300进入步骤330,这里将“运行长度计数”写入该OSD首标。该“运行长度计数代表在该OSD数据字节中的1-位象素的一个运行,并用于启动运行长度计数器。If the query at step 320 is answered in the affirmative, method 300 proceeds to step 330 where a "run length count" is written to the OSD header. The "run-length count" represents a run of 1-bit pixels in the OSD data byte and is used to start the run-length counter.
在步骤340,方法300产生变址字节,它具有标识位于该OSD首标中的调色板上的两个可能的入口的两个变址。对于整个运行选择该两个变址。At step 340, method 300 generates index bytes with two indices identifying two possible entries on the palette located in the OSD header. These two indices are selected for the entire run.
在步骤350中,方法300产生安置在该OSD数据字节中的1-位象素的运行。尽管每个OSD数据字节具有8位的长度,但不能限制该运行长度到任何长度,即,可将20个1-位象系的运行安置在三个OSD数据字节。In step 350, method 300 generates a run of 1-bit pixels disposed in the OSD data byte. Although each OSD data byte has a length of 8 bits, the run length cannot be limited to any length, ie, a run of 20 1-bit bins can fit in three OSD data bytes.
在步骤360,方法300确定是否有任何附加的运行。如果修改了两个被选择的彩色可要求新的运行。如果对该询问是否定的回答,方法300进入步骤370。如果对该询问是肯定的回答,方法300进入步骤330,这里对于每个附加的运行重复步骤330-350。对于每个运行可选择地修改在该变址字节中的这些变址。At step 360, method 300 determines whether there are any additional runs. A new run may be required if two selected colors are modified. If the query is answered in the negative, method 300 proceeds to step 370 . If the query is answered in the affirmative, method 300 proceeds to step 330, where steps 330-350 are repeated for each additional run. The indices in the index byte are optionally modified for each run.
在步骤370,方法300确定是否有另一OSD首标。如果修改由功能位212代表的各种模式和在该调色板中的被选彩色,可要求新的OSD首标。同样,对于帧上的每个新的OSD区需要一个新的首标。如果对于该询问的回答是否定的,方法300进入步骤380,这里方法300结束。如果对该询问是肯定的回答,方法300进入步骤320,其中对于每个附加的OSD首标重复步骤320-360。以这种方式,该OSD位流可包括压缩OSD数据字节和非压缩OSD数据字节两者。At step 370, method 300 determines whether there is another OSD header. If the various modes represented by
这样,已表示和描述了构成具有一组一位象素的OSD位流的新的方法和设备,提供了在译码/显示系统中的改进的存贮器带宽利用。在考虑了公开本发明实施例的该说明书和附图之后,对本领域的技术人员是明显的,本发明可有许多变化,修改和其它使用和应用。所有这些都不脱离本发明的精神和范围,本发明的范围只由后面的权利要求书限定。Thus, there has been shown and described a new method and apparatus for constructing an OSD bitstream having a set of one-bit pixels, providing improved utilization of memory bandwidth in a decoding/display system. After considering this specification and the accompanying drawings, which disclose embodiments of the invention, it will be apparent to those skilled in the art that the invention is susceptible to many variations, modifications and other uses and applications. All without departing from the spirit and scope of the invention, which is limited only by the claims that follow.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN96180533ACN1113528C (en) | 1996-10-16 | 1996-10-16 | Device and method for generating screen display message using 1-bit pixel |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN96180533ACN1113528C (en) | 1996-10-16 | 1996-10-16 | Device and method for generating screen display message using 1-bit pixel |
| Publication Number | Publication Date |
|---|---|
| CN1239628A CN1239628A (en) | 1999-12-22 |
| CN1113528Ctrue CN1113528C (en) | 2003-07-02 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN96180533AExpired - Fee RelatedCN1113528C (en) | 1996-10-16 | 1996-10-16 | Device and method for generating screen display message using 1-bit pixel |
| Country | Link |
|---|---|
| CN (1) | CN1113528C (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1994029840A1 (en)* | 1993-06-07 | 1994-12-22 | Scientific-Atlanta, Inc. | Display system with programmable display parameters |
| WO1995035626A1 (en)* | 1994-06-17 | 1995-12-28 | Thomson Consumer Electronics, Inc. | On screen display arrangement for a digital video signal processing system |
| EP0707426A2 (en)* | 1994-10-11 | 1996-04-17 | Hitachi, Ltd. | Digital video decoder for decoding digital high definition and/or digital standard definition television signals |
| CN1125029A (en)* | 1993-06-07 | 1996-06-19 | 亚特兰大科技公司 | Display system for a subscriber terminal |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1994029840A1 (en)* | 1993-06-07 | 1994-12-22 | Scientific-Atlanta, Inc. | Display system with programmable display parameters |
| CN1125029A (en)* | 1993-06-07 | 1996-06-19 | 亚特兰大科技公司 | Display system for a subscriber terminal |
| WO1995035626A1 (en)* | 1994-06-17 | 1995-12-28 | Thomson Consumer Electronics, Inc. | On screen display arrangement for a digital video signal processing system |
| EP0707426A2 (en)* | 1994-10-11 | 1996-04-17 | Hitachi, Ltd. | Digital video decoder for decoding digital high definition and/or digital standard definition television signals |
| Publication number | Publication date |
|---|---|
| CN1239628A (en) | 1999-12-22 |
| Publication | Publication Date | Title |
|---|---|---|
| US6175388B1 (en) | Apparatus and method for generating on-screen-display messages using on-bit pixels | |
| US6480238B1 (en) | Apparatus and method for generating on-screen-display messages using field doubling | |
| US6351292B1 (en) | Apparatus and method for generating on-screen-display messages using line doubling | |
| EP0932978B1 (en) | Apparatus and method for generating on-screen-display messages using line doubling | |
| US6118494A (en) | Apparatus and method for generating on-screen-display messages using true color mode | |
| CA2268124C (en) | Apparatus and method for generating on-screen-display messages using one-bit pixels | |
| CN1113528C (en) | Device and method for generating screen display message using 1-bit pixel | |
| EP0932977B1 (en) | Apparatus and method for generating on-screen-display messages using field doubling | |
| AU737998B2 (en) | Apparatus and method for generating on-screen-display messages using true color mode | |
| HK1024583B (en) | Apparatus and method for generating on-screen-display messages using one-bit pixels | |
| AU719563C (en) | Apparatus and method for generating on-screen-display messages using field doubling | |
| CN1239630A (en) | Apparatus and method for generating on-screen display message using color realistic mode | |
| HK1024370B (en) | Apparatus and method for generating on-screen-display messages using field doubling | |
| MXPA99003536A (en) | Apparatus and method for generating on-screen-display messages using one-bit pixels | |
| CN1124032C (en) | Appts. and method for generating on-screen-display messages using line doubling | |
| MXPA99003535A (en) | Apparatus and method for generating on-screen-display messages using field doubling | |
| MXPA99003539A (en) | Apparatus and method for generating on-screen-display messages using true color mode | |
| MXPA99003537A (en) | Apparatus and method for generating on-screen-display messages using line doubling |
| 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 | ||
| CF01 | Termination of patent right due to non-payment of annual fee | Granted publication date:20030702 Termination date:20141016 | |
| EXPY | Termination of patent right or utility model |