US7284262B1 - Receiver/decoder and method of processing video data - Google Patents

Receiver/decoder and method of processing video data Download PDF

Info

Publication number
US7284262B1
US7284262B1 US09/674,079 US67407999A US7284262B1 US 7284262 B1 US7284262 B1 US 7284262B1 US 67407999 A US67407999 A US 67407999A US 7284262 B1 US7284262 B1 US 7284262B1
Authority
US
United States
Prior art keywords
data
buffer
graphics
sub
subtitle
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 - Lifetime
Application number
US09/674,079
Inventor
Jerome Meric
Patrice Letourneur
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.)
InterDigital CE Patent Holdings SAS
Original Assignee
Thomson Licensing S.A.
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 Thomson Licensing S.A. filed Critical Thomson Licensing S.A.
Assigned to CANAL+SOCIETE ANONYME reassignment CANAL+SOCIETE ANONYME ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LETOURNEUR, PATRICE, MERIC, JEROME
Assigned to CANAL + TECHNOLOGIES reassignment CANAL + TECHNOLOGIES CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CANAL+SOCIETE ANONYME
Assigned to THOMSON LICENSING S.A. reassignment THOMSON LICENSING S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CANAL + TECHNOLOGIES
Application granted granted Critical
Publication of US7284262B1 publication Critical patent/US7284262B1/en
Anticipated expiration legal-status Critical
Assigned to THOMSON LICENSING reassignment THOMSON LICENSING CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: THOMSON LICENSING S.A.
Assigned to INTERDIGITAL CE PATENT HOLDINGS reassignment INTERDIGITAL CE PATENT HOLDINGS ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: THOMSON LICENSING
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • G09G1/16Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • 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/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • 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/426Internal components of the client ; Characteristics thereof
    • H04N21/42692Internal components of the client ; Characteristics thereof for reading from or writing on a volatile storage medium, e.g. Random Access Memory [RAM]
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Definitions

  • the present invention relates to a receiver/decoder and a method of processing video data.
  • receiver/decoder used herein may connote a receiver for receiving either encoded or non-encoded signals, for example, television and/or radio signals, which may be broadcast or transmitted by some other means.
  • the term may also connote a decoder for decoding received signals.
  • Embodiments of such receiver/decoders may include a decoder integral with the receiver for decoding the received signals, for example, in a “set-top box”, such a decoder functioning in combination with a physically separate receiver, or such a decoder including additional functions, such as a web browser, a video recorder, or a television.
  • received signals are passed to a receiver/decoder and thence to a television set.
  • digital television system includes for example any satellite, terrestrial, cable and other system.
  • the receiver/decoder decodes a compressed MPEG-type signal into a television signal for the television set. It is controlled by a remote controller handset, through an interface in the receiver/decoder.
  • the receiver/decoder is used to process the incoming bit stream, and includes a variety of application modules which cause the receiver/decoder to perform a variety of control and other functions.
  • Such a receiver/decoder may have a variety of devices coupled to it, such as a card reader for the user to pass an authorization card through to confirm which services the user is authorized to use, a hand-held television receiver control wand, a television display unit, and a second card reader for use with bank cards to allow the user to perform home banking functions. It may also have a variety of ports coupled to it, for example, a modem for access to the Internet and for conducting home banking transactions.
  • the receiver/decoder typically includes a buffering arrangement for handling incoming data.
  • the basic principle of buffering in a receiver/decoder is that a memory section in a memory is designated as a buffer. Incoming data from a port is fed into the buffer.
  • the buffer size may be chosen to be large enough to accommodate most or all incoming messages, or the buffer may be operated with two pointers, one for the point where fresh incoming data is written into the buffer and the other for the point where stored data is read from the buffer.
  • the receiver/decoder normally includes a 4-layer structure for generating the image to be displayed on the television set, the 4 layers being a stills layer, a moving image layer, a graphics layer, and a cursor layer.
  • the graphics layer is preferably utilized for both icons (typically geometric shapes) and titles (usually but not always subtitles).
  • icons typically geometric shapes
  • titles usually but not always subtitles.
  • the use of a common layer, the graphics layer, for both icons and titles causes difficulties in maintaining and updating both the icons and the titles satisfactorily, particularly as a title can appear at any position on the screen.
  • the main aim of the present invention is to provide an improved buffering arrangement in a receiver/decoder to solve this and other problems.
  • the present invention provides a method of processing video data in a receiver/decoder comprising at least one port for receiving data and memory means comprising a data buffer area for storing incoming data for display, and a graphics buffer area for storing graphics data, said method comprising passing graphics data stored in the graphics buffer area to the data buffer area for combination with display data stored therein.
  • the incoming data comprises video text data, such as one or more subtitles
  • the graphics data comprises icon data.
  • a central processing unit in the receiver/decoder under the control of a device, passes icon data into the data buffer area, preferably just before the data stored in the data buffer area is combined with other data to provide video data.
  • the data buffer area comprises two data buffer sub-areas, said incoming display data being directed into one of said sub-areas at a time.
  • the two sub-areas may be interchanged so that further incoming display data is stored in the other sub-area and graphics data stored in the graphics buffer area is passed to the other sub-area.
  • This can enable a subtitle screen to be stored in one sub-area whilst a previously received subtitle screen is being output from another sub-area, thereby avoiding over-writing of the previously received subtitle screen with fresh data.
  • the two sub-areas are interchanged immediately after graphics data stored in the graphics buffer area is passed to one of the data buffer sub-areas.
  • the graphics buffer area may comprise a plurality of graphics buffer sub-areas in which graphics data can be stored, graphics data being passed to the data buffer area from a selected one of the graphics buffer sub-areas. This can enable, for example, a number of different icons to be generated and stored prior to the reception of any video text data, so that there is no need for icon generating means to generate continuously icon data.
  • the combined graphics and display data is further combined with other received data to provide video data.
  • the combined data of the other data buffer sub-area can be further combined with the other received data, again thereby avoiding over-writing of the previously received subtitle screen with fresh data.
  • graphics data stored in the graphics buffer area is passed into the data buffer area for combination with display data stored therein immediately before the thus combined graphics and display data is combined with said other received data.
  • the video data may comprise four layers of data, said combined graphics and display data comprising one of said layers. If so, the four layers of data may comprise said combined graphics and display data layer, a stills data layer, a moving image data layer, and a cursor data layer.
  • the moving image data layer and the display data may comprise at least part of an MPEG datastream.
  • the present invention also provides a receiver/decoder comprising at least one port for receiving data, memory means comprising a data buffer area for storing incoming data for display and a graphics buffer area for storing graphics data, and means for passing graphics data stored in the graphics buffer area to the data buffer area for combination with display data stored therein.
  • a preferred embodiment of the receiver/decoder comprises at least one port for receiving data, a memory comprising a data buffer area for storing incoming data for display and a graphics buffer area for storing graphics data, and a processor for passing graphics data stored in the graphics buffer area to the data buffer area for combination with display data stored therein.
  • the data buffer area may comprise two data buffer sub-areas, and the receiver/decoder may further comprise means, for example, a microprocessor, for directing incoming data into one of said sub-areas.
  • the receiver/decoder may further comprise control means, such as, for example, a device, the directing means being arranged to direct incoming display data to one of the data buffer sub-areas as specified by said control means.
  • control means such as, for example, a device, the directing means being arranged to direct incoming display data to one of the data buffer sub-areas as specified by said control means.
  • the receiver/decoder may further comprise means, for example, a device, for interchanging the two sub-areas so that further incoming display data is storable in the other sub-area and graphics data stored in the graphics buffer area is passable to the other sub-area.
  • the interchanging means may be adapted to interchange the two data buffer sub-areas immediately after graphics data stored in the graphics buffer area is passed to one of the data buffer sub-areas.
  • the graphics buffer area may comprise a plurality of graphics buffer sub-areas in which graphics data is storable, graphics data being passable to the data buffer area from a selected one of the graphics buffer sub-areas.
  • the receiver/decoder may further comprise means for combining the combined graphics and display data with other received data to provide video data.
  • the combining means is a mixing circuit.
  • the passing means may be arranged to pass graphics data stored in the graphics buffer area into the data buffer area for combination with display data stored therein immediately before combining means combines the combined graphics and display data with said other received data.
  • the receiver/decoder may further comprise buffer control means, such as, for example, a device, the data buffer sub-areas being defined by the buffer control means.
  • buffer control means such as, for example, a device, the data buffer sub-areas being defined by the buffer control means.
  • the present invention also extends to a broadcast and reception system including a receiver/decoder as aforementioned, and means for broadcasting said data.
  • the system is a digital television system.
  • receiver/decoder may be implemented in hardware, for example in a dedicated integrated circuit; this may provide enhanced speed of operation.
  • at least some of the functions are implemented in software, preferably implemented by processing means which runs the applications; this can allow greater flexibility, require less components, and allow the receiver/decoder to be updated more readily.
  • FIG. 1 is a schematic diagram of a digital television system
  • FIG. 2 is a schematic diagram of the structure of a receiver/decoder of the system of FIG. 1 ;
  • FIG. 3 is a functional block diagram of the layered architecture of the receiver/decoder
  • FIG. 4 is a schematic diagram of the arrangement of the graphic processor of the receiver/decoder
  • FIG. 5 is a schematic diagram of a RAM memory of the graphic processor.
  • FIG. 6 is a schematic diagram illustrating the combination of layers of a video display.
  • FIG. 1 An overview of a digital television system 1 is shown in FIG. 1 .
  • the invention includes a mostly conventional digital television system 2 that uses the known MPEG-2 compression system to transmit compressed digital signals.
  • MPEG-2 compressor 3 in a broadcast centre receives a digital signal stream (typically a stream of video signals).
  • the compressor 3 is connected to a multiplexer and scrambler 4 by linkage 5 .
  • the multiplexer 4 receives a plurality of further input signals, assembles the transport stream and transmits compressed digital signals to a transmitter 6 of the broadcast centre via linkage 7 , which can of course take a wide variety of forms including telecommunications links.
  • the transmitter 6 transmits electromagnetic signals via uplink 8 towards a satellite transponder 9 , where they are electronically processed and broadcast via notional downlink 10 to earth receiver 12 , conventionally in the form of a dish owned or rented by the end user.
  • the signals received by receiver 12 are transmitted to an integrated receiver/decoder 13 owned or rented by the end user and connected to the end user's television set 14 .
  • the receiver/decoder 13 decodes the compressed MPEG-2 signal into a television signal for the television set 14 .
  • transport channels for transmission of the data are of course possible, such as terrestrial broadcast, cable transmission, combined satellite/cable links, telephone networks etc.
  • the multiplexer 4 handles audio and video information received from a number of parallel sources and interacts with the transmitter 6 to broadcast the information along a corresponding number of channels.
  • messages or applications or any other sort of digital data may be introduced in some or all of these channels interlaced with the transmitted digital audio and video information.
  • a conditional access system 15 is connected to the multiplexer 4 and the receiver/decoder 13 , and is located partly in the broadcast centre and partly in the decoder. It enables the end user to access digital television broadcasts from one or more broadcast suppliers.
  • a smartcard capable of deciphering messages relating to commercial offers (that is, one or several television programmes sold by the broadcast supplier), can be inserted into the receiver/decoder 13 . Using the decoder 13 and smartcard, the end user may purchase commercial offers in either a subscription mode or a pay-per-view mode.
  • programmes transmitted by the system are scrambled at the multiplexer 4 , the conditions and encryption keys applied to a given transmission being determined by the access control system 15 .
  • Transmission of scrambled data in this way is well known in the field of pay TV systems.
  • scrambled data is transmitted together with a control word for descrambling of the data, the control word itself being encrypted by a so-called exploitation key and transmitted in encrypted form.
  • the scrambled data and encrypted control word are then received by the decoder 13 having access to an equivalent to the exploitation key stored on a smart card inserted in the decoder to decrypt the encrypted control word and thereafter descramble the transmitted data.
  • a paid-up subscriber will receive, for example, in a broadcast monthly ECM (Entitlement Control Message) the exploitation key necessary to decrypt the encrypted control word so as to permit viewing of the transmission.
  • ECM Entitlement Control Message
  • An interactive system 16 also connected to the multiplexer 4 and the receiver/decoder 13 and again located partly in the broadcast centre and partly in the decoder, enables the end user to interact with various applications via a modern back channel 17 .
  • the modem back channel may also be used for communications used in the conditional access system 15 .
  • An interactive system may be used, for example, to enable the viewer to communicate immediately with the transmission centre to demand authorisation to watch a particular event, download an application etc.
  • the decoder 13 comprises a central processor 20 including associated memory elements and adapted to receive input data from a serial interface 21 , a parallel interface 22 , a modem 23 (connected to the modem back channel 17 of FIG. 1 ), and switch contacts 24 on the front panel of the decoder.
  • the decoder is additionally adapted to receive inputs from an infra-red remote control 25 via a control unit 26 and also possesses two smartcard readers 27 , 28 adapted to read bank or subscription smartcards 29 , 30 respectively.
  • the subscription smartcard reader 28 engages with an inserted subscription card 30 and with a conditional access unit 29 to supply the necessary control word to a demultiplexer/descrambler 30 to enable the encrypted broadcast signal to be descrambled.
  • the decoder also includes a conventional tuner 31 and demodulator 32 to receive and demodulate the satellite transmission before being filtered and demultiplexed by the unit 30 .
  • FIG. 3 illustrates the software architecture of the central processor 20 of the receiver/decoder.
  • the software architecture comprises a Run-Time-Engine 4008 , a Device Manager 4068 and a plurality of Devices 4062 and Device Drivers 4066 for running one or more applications 4056 .
  • an application is a piece of computer code for controlling high level functions of preferably the receiver/decoder 13 .
  • the end user positions the focus of remote control 25 on a button object seen on the screen of the television set 14 and presses a validation key, the instruction sequence associated with the button is run.
  • An interactive application proposes menus and executes commands at the request of the end user and provides data related to the purpose of the application.
  • Applications may be either resident applications, that is, stored in the ROM (or FLASH or other non-volatile memory) of the receiver/decoder 13 , or broadcast and downloaded into the RAM or FLASH memory of the receiver/decoder 13 .
  • the resource files comprise graphic object description unit files, variables block unit files, instruction sequence files, application files and data files, as described in more detail in the above-mentioned patent specifications.
  • the receiver/decoder contains memory divided into a RAM volume, a FLASH volume and a ROM volume, but this physical organization is distinct from the logical organization.
  • the memory may further be divided into memory volumes associated with the various interfaces. From one point of view, the memory can be regarded as part of the hardware; from another point of view, the memory can be regarded as supporting or containing the whole of the system shown apart from the hardware.
  • the central processor 20 can be regarded as centred on a run time engine 4008 forming part of a virtual machine 4007 . This is coupled to applications on one side (the “high level” side), and, on the other side (the “low level” side), via various intermediate logical units discussed below, to the receiver/decoder hardware 4061 , comprising the various ports as discussed above (that is, for example, the serial interface 21 , the parallel interface 22 , modem 23 , and control unit 26 ).
  • various applications 4057 are coupled to the virtual machine 4007 ; some of the more commonly used applications may be more or less permanently resident in the system, as indicated at 4057 , while others will be downloaded into the system, eg from the MPEG data stream or from other ports as required.
  • the virtual machine 4007 includes, in addition to the run time engine 4008 , some resident library functions 4006 which include a toolbox 4058 .
  • the library contains miscellaneous functions in C language used by the engine 4008 . These include data manipulation such as compression, expansion or comparison of data structures, line drawing, etc.
  • the library 4006 also includes information about firmware in the receiver/decoder 13 , such as hardware and software version numbers and available RAM space, and a function used when downloading a new device 4062 . Functions can be downloaded into the library, being stored in FLASH or RAM memory.
  • the run time engine 4008 is coupled to a device manager 4068 which is coupled to a set of devices 4062 which are coupled to device drivers 4060 which are in turn coupled to the ports or interfaces.
  • a device driver can be regarded as defining a logical interface, so that two different device drivers may be coupled to a common physical port.
  • a device will normally be coupled to more than one device driver; if a device is coupled to a single device driver, the device will normally be designed to incorporate the full functionality required for communication, so that the need for a separate device driver is obviated. Certain devices may communicate among themselves.
  • Each function of the receiver/decoder 13 is represented as a device 4062 in the software architecture of the receiver/decoder 13 .
  • Devices can be either local or remote.
  • Local devices 4064 include smartcards, SCART connector signals, modems, serial and parallel interfaces, a MPEG video and audio player and an MPEG section and table extractor.
  • Remote devices 4066 executed in a remote location, differ from local devices in that a port and procedure must be defined by the system authority or designer, rather than by a device and device driver provided and designed by the receiver/decoder manufacturer.
  • the run time engine 4008 runs under the control of a microprocessor and a common application programming interface. They are installed in every receiver/decoder 13 so that all receiver/decoders 13 are identical from the application point of view.
  • the engine 4008 runs applications 4056 on the receiver/decoder 13 . It executes interactive applications 4056 and receives events from outside the receiver/decoder 13 , displays graphics and text, calls devices for services and uses functions of the library 4006 connected to the engine 4008 for specific computation.
  • the run time engine 4008 is an executable code installed in each receiver/decoder 13 , and includes an interpreter for interpreting and running applications.
  • the engine 4008 is adaptable to any operating system, including a single task operating system (such as MS-DOS).
  • the engine 4008 is based on process sequencer units (which take various events such as a key press, to carry out various actions), and contains its own scheduler to manage event queues from the different hardware interfaces. It also handles the display of graphics and text.
  • a process sequencer unit comprises a set of action-groups. Each event causes the process sequencer unit to move from its current action-group to another action-group in dependence on the character of the event, and to execute the actions of the new action-group.
  • the engine 4008 comprises a code loader to load and download applications 4056 into the receiver/decoder memory. Only the necessary code is loaded into the RAM or FLASH memory, in order to ensure optimal use. The downloaded data is verified by an authentication mechanism to prevent any modification of an application 4056 or the execution of any unauthorized application.
  • the engine 4008 further comprises a decompressor. As the application code (a form of intermediate code) is compressed for space saving and fast downloading from the MPEG stream or via a built-in receiver/decoder mode, the code must be decompressed before loading it into the RAM.
  • the engine 4008 also comprises an interpreter to interpret the application code to update various variable values and determine status changes, and an error checker.
  • a program (such as an application instruction sequence) has to be declared as a “client”, that is, a logical access-way to the device 4062 or the device manager 4068 .
  • the manager gives the client a client number which is referred to in all accesses to the device.
  • a device 4062 can have several clients, the number of clients for each device 4062 being specified depending on the type of device 4062 .
  • a client is introduced to the device 4062 by a procedure “Device: Open Channel”. This procedure assigns a client number to the client.
  • a client can be taken out of the device manager 4068 client list by a procedure “Device: Close Channel”.
  • the access to devices 4062 provided by the device manager 4068 can be either synchronous or asynchronous.
  • a procedure “Device: Call” is used. This is a means of accessing data which is immediately available or a functionality which does not involve waiting for the desired response.
  • a procedure “Device: I/O” is used. This is a means of accessing data which involves waiting for a response, for example scanning tuner frequencies to find a multiplex or getting back a table from the MPEG stream.
  • an event is put in the queue of the engine to signal its arrival.
  • a further procedure “Device: Event” provides a means of managing unexpected events.
  • main loop of the run time engine is coupled to a variety of process sequencer units, and when the main loop encounters an appropriate event, control is temporarily transferred to one of the process sequencer units.
  • the central processor 20 provides a platform having considerable flexibility in enabling an application to communicate with a variety of devices.
  • the MPEG packets containing these signals will be demultiplexed and filtered so as to pass real time audio and video data in the form of a packetised elementary stream (PES) of audio and visual data to dedicated audio and video processors or decoders 33 , 34 .
  • PES packetised elementary stream
  • the converted output from the audio processor 33 passes to a preamplifier 35 and thereafter via the audio output of the receiver/decoder.
  • the converted output from the video processor 34 passes via a graphic processor 36 and PAL/SECAM encoder 37 to the video output of the receiver/decoder.
  • the graphic processor 36 is preferably designed to generate a screen display combining moving images together with overlaid text or other images. More specifically it can combine 4 layers; a stills layer, a moving image layer, a graphics layer, and a cursor layer. As described in more detail below, the graphic processor 36 additionally receives graphic data for display (such as generated images etc) from the central processor 20 and combines this information with information received from the video processor 34 to generate the screen display.
  • graphic data for display such as generated images etc
  • the graphic processor 36 includes dedicated RAM memory area 40 , dedicated microprocessor 41 and graphics library 42 .
  • the RAM memory area 40 of the graphic processor 36 is divided into a number of buffer areas; a stills layer buffer area 43 , a moving image layer buffer area 44 and a graphics layer buffer area 45 .
  • the stills layer is used for background images of a broadly static nature.
  • the circuitry and software associated with the stills layer buffer area 43 can preferably generate an image therein by any desired combination of the following processes:
  • the moving image layer is used for the incoming video signals obtained from the MPEG data stream.
  • the circuitry and software associated with the moving image layer buffer area 44 can preferably resize and scale the incoming images, and combine images from a plurality of sources into different areas of the buffer area.
  • the graphics layer is used to produce titles and icons (graphics). Titles are frequently subtitles, which appear centred near the lower edge of the image, but may also appear in other positions on the image. Icons are generally geometric shapes such as rectangles, circles, buttons, and dialogue boxes (it will be realized that the term “icon” is here being used in a broad sense).
  • the graphics layer is defined by one or more rectangular regions, each rectangular region being defined by the coordinates of the upper left corner of the region and the size of the region. Accordingly, the graphics layer buffer area 45 is sub-divided into a plurality of buffer regions 45 A, 45 B, . . . 45 N, one buffer region for each of the rectangular regions of the graphics layer. Each buffer region 45 A . . . comprises a plurality of sub-areas 45 A 0 , 45 A 1 . . . 45 A n . Each buffer region is created by a “subtitle” device 4062 , under the control of an application 4056 , in the central processor 20 using a command procedure stored in the graphics library 42 .
  • the contents of the stills layer buffer area 43 and the moving image layer buffer area 44 are mixed together by a mixing circuit 50 which can be set to blend (alpha blending, that is, translucently) those outputs; and the output of that mixing circuit 50 is combined with the contents of the graphics layer buffer area 45 , as those contents are read out, by a similar mixing circuit 51 .
  • the output of that mixing circuit is combined with the output of a hardware cursor generator 52 by a combining circuit 53 which superposes a cursor signal on the combination of the first 3 layers.
  • the cursor layer is preferably superposed opaquely, that is, without the option of blending, on the combination of the first 3 layers, so that the combination of the first 3 layers is wholly obscured within the area of the cursor.
  • one of the bit values available for the cursor pixels is preferably “transparent”, so that the cursor can effectively have “holes” in it through which the underlying combined image from the first 3 layers can be seen.
  • This 4-layer structure produces potential problems with respect to the third layer, that is, the graphics layer. These problems arise because two separate types of display element, titles and icons, are being generated in the same layer. There is therefore the possibility of conflict between these two types of display element. For example, it will often be desirable to change the titles and the icons at different times (and often it will be desirable for the icons to remain in place for longer than the titles). As noted above, the fact that titles may appear in any position on the display, rather than solely in the standard subtitle position, means that such possibility of conflict is substantial.
  • each buffer region 45 A, 45 B . . . includes two buffer sub-areas 45 A 0 and 45 A 1 which are reserved for use by the subtitle device 4062 to build and display subtitles.
  • the subtitle device 4062 in the central processor 20 selects which of the two buffer sub-areas 45 A 0 and 45 A 1 is to be used to receive incoming data for display and outputs an appropriate command to the graphic processor 36 .
  • the microprocessor 41 of the graphic processor 36 directs incoming data to the selected buffer sub-area.
  • the two buffer sub-areas 45 A 0 and 45 A 1 are treated as a “working buffer” and a “display buffer”.
  • the sub-area into which currently incoming data is fed is the working buffer, so its contents will be changing.
  • the received data is directed into the two buffers sub-areas 45 A 0 and 45 A 1 alternately.
  • the subtitle device 4062 reverses the roles of the two sub-areas each time the working buffer has a new complete subtitle page to display, as the contents of that sub-area are no longer changing, giving a steady image which is acceptable to the viewer so that sub-area can be used as the display buffer.
  • the contents of the display buffer are read out as the graphics layer for combination with the combined stills layer and moving image layer.
  • the interval between the interchange of the roles of the two sub-areas 45 A 0 and 45 A 1 that is, between the interchange of the working and display buffers, is typically 5 to 10 s.
  • the subtitle device 4062 in the central processor 20 outputs an appropriate command to the graphic processor 36 to interchange the roles of the two sub-areas 45 A 0 and 45 A 1 , and, in turn, the microprocessor 41 of the graphic processor 36 clears the contents of the other sub-area and directs incoming data to that sub-area.
  • Each buffer region 45 A, 45 B . . . includes a further buffer area, namely an icon buffer area 45 A i , 45 B i . . . , as shown in FIG. 5 .
  • Each icon buffer area 45 A i comprises one or more icon buffer sub-areas, 45 A 2 , 45 A 3 . . . up to 45 A 15 .
  • Each icon buffer sub-area contains respective icon image data.
  • the icon image may be generated by software stored in the central processor 20 , stored in the RAM area 20 A (or FLASH memory area) of the central processor 20 and copied by the central processor 20 into a designated icon buffer sub-area of the RAM area 41 of the graphic processor 36 .
  • an icon image has been stored in the graphic processor 36 , it remains in its buffer sub-area and can be copied repeatedly to either of the two buffer sub-areas 45 A 0 and 45 A 1 whenever required. In this way, a whole series of icon images can be constructed, which can be used in whatever sequences and at whatever times are required.
  • the combination of the two images, the subtitles image in one or other of the buffer sub-areas 45 A 0 and 45 A 1 and the icon image in the icon buffer area 45 A i is achieved by copying the icon image into the working buffer, that is, into whichever of the two sub-areas 45 A 0 and 45 A 1 is not currently the display buffer.
  • the subtitle device 4062 outputs an appropriate command to the graphic processor 36 to copy the contents of a specified icon buffer sub-area to the working buffer just before the working buffer is to become the display buffer, that is, when a complete subtitle page has been stored in the working buffer.
  • the icon image currently being displayed is stored in the display buffer
  • the next icon image to be displayed may already be stored in the working buffer
  • a fresh icon image may be under construction by the icon generator while the working buffer is receiving subtitles data.
  • the application controlling the subtitle device 4062 may require the currently displayed icon image to be changed without alteration of the displayed subtitle, for example, upon input of a command from the remote control 25 .
  • the subtitle device 4062 outputs a command to the graphic processor 36 to copy an icon image stored in the icon buffer area immediately into the display buffer over the icon image already stored therein.
  • a central processing unit in the receiver/decoder under the control of a device, passes icon data into the data buffer area, preferably just before the data stored in the data buffer area is combined with other data to provide video data.
  • the icon can be laid over that part of the subtitle, but the non-overlapped parts can be concurrently displayed with the icon.
  • modules and other components have been described in terms of the features and functions provided by each component, together with optional and preferable features. With the information given and specifications provided, actual implementation of these features and the precise details are left to the implementor. As an example, certain modules could be implemented in software, preferably written in the C programming language and preferably compiled to run on the processor used to run the application; however, some components may be run on a separate processor, and some or all components may be implemented by dedicated hardware.

Abstract

A method of processing video data in a receiver/decoder including at least one port (31) for receiving data and memory means (40) including a data buffer area (45A0 , 45A1) for storing incoming data for display, and a graphics buffer area (45Ai) for storing graphics data, said method including passing graphics data stored in the graphics buffer area to the data buffer area for combination with display data stored therein.

Description

The present invention relates to a receiver/decoder and a method of processing video data.
The term “receiver/decoder” used herein may connote a receiver for receiving either encoded or non-encoded signals, for example, television and/or radio signals, which may be broadcast or transmitted by some other means. The term may also connote a decoder for decoding received signals. Embodiments of such receiver/decoders may include a decoder integral with the receiver for decoding the received signals, for example, in a “set-top box”, such a decoder functioning in combination with a physically separate receiver, or such a decoder including additional functions, such as a web browser, a video recorder, or a television.
In a broadcast digital television system, received signals are passed to a receiver/decoder and thence to a television set. As used herein, the term “digital television system” includes for example any satellite, terrestrial, cable and other system. The receiver/decoder decodes a compressed MPEG-type signal into a television signal for the television set. It is controlled by a remote controller handset, through an interface in the receiver/decoder. The receiver/decoder is used to process the incoming bit stream, and includes a variety of application modules which cause the receiver/decoder to perform a variety of control and other functions.
Such a receiver/decoder may have a variety of devices coupled to it, such as a card reader for the user to pass an authorization card through to confirm which services the user is authorized to use, a hand-held television receiver control wand, a television display unit, and a second card reader for use with bank cards to allow the user to perform home banking functions. It may also have a variety of ports coupled to it, for example, a modem for access to the Internet and for conducting home banking transactions.
The receiver/decoder typically includes a buffering arrangement for handling incoming data. The basic principle of buffering in a receiver/decoder is that a memory section in a memory is designated as a buffer. Incoming data from a port is fed into the buffer. The buffer size may be chosen to be large enough to accommodate most or all incoming messages, or the buffer may be operated with two pointers, one for the point where fresh incoming data is written into the buffer and the other for the point where stored data is read from the buffer.
The receiver/decoder normally includes a 4-layer structure for generating the image to be displayed on the television set, the 4 layers being a stills layer, a moving image layer, a graphics layer, and a cursor layer. The graphics layer is preferably utilized for both icons (typically geometric shapes) and titles (usually but not always subtitles). The use of a common layer, the graphics layer, for both icons and titles causes difficulties in maintaining and updating both the icons and the titles satisfactorily, particularly as a title can appear at any position on the screen.
The main aim of the present invention is to provide an improved buffering arrangement in a receiver/decoder to solve this and other problems.
The present invention provides a method of processing video data in a receiver/decoder comprising at least one port for receiving data and memory means comprising a data buffer area for storing incoming data for display, and a graphics buffer area for storing graphics data, said method comprising passing graphics data stored in the graphics buffer area to the data buffer area for combination with display data stored therein.
In a preferred embodiment, the incoming data comprises video text data, such as one or more subtitles, and the graphics data comprises icon data. When a subtitle screen has been fully received in the data buffer area, a central processing unit in the receiver/decoder, under the control of a device, passes icon data into the data buffer area, preferably just before the data stored in the data buffer area is combined with other data to provide video data. Hence, the invention affords the advantage that in the event of an overlap between the icon and part of the subtitle, the icon can be laid over that part of the subtitle, but the non-overlapped parts can be concurrently displayed with the icon.
In a preferred embodiment, the data buffer area comprises two data buffer sub-areas, said incoming display data being directed into one of said sub-areas at a time.
The two sub-areas may be interchanged so that further incoming display data is stored in the other sub-area and graphics data stored in the graphics buffer area is passed to the other sub-area. This can enable a subtitle screen to be stored in one sub-area whilst a previously received subtitle screen is being output from another sub-area, thereby avoiding over-writing of the previously received subtitle screen with fresh data.
Preferably, the two sub-areas are interchanged immediately after graphics data stored in the graphics buffer area is passed to one of the data buffer sub-areas.
The graphics buffer area may comprise a plurality of graphics buffer sub-areas in which graphics data can be stored, graphics data being passed to the data buffer area from a selected one of the graphics buffer sub-areas. This can enable, for example, a number of different icons to be generated and stored prior to the reception of any video text data, so that there is no need for icon generating means to generate continuously icon data.
Preferably, the combined graphics and display data is further combined with other received data to provide video data. Thus, whilst further incoming display data is being stored in one data buffer sub-area and graphics data stored in the graphics buffer area is being passed to that data buffer sub-area, the combined data of the other data buffer sub-area can be further combined with the other received data, again thereby avoiding over-writing of the previously received subtitle screen with fresh data.
Preferably, graphics data stored in the graphics buffer area is passed into the data buffer area for combination with display data stored therein immediately before the thus combined graphics and display data is combined with said other received data.
The video data may comprise four layers of data, said combined graphics and display data comprising one of said layers. If so, the four layers of data may comprise said combined graphics and display data layer, a stills data layer, a moving image data layer, and a cursor data layer.
The moving image data layer and the display data may comprise at least part of an MPEG datastream.
The present invention also provides a receiver/decoder comprising at least one port for receiving data, memory means comprising a data buffer area for storing incoming data for display and a graphics buffer area for storing graphics data, and means for passing graphics data stored in the graphics buffer area to the data buffer area for combination with display data stored therein.
A preferred embodiment of the receiver/decoder comprises at least one port for receiving data, a memory comprising a data buffer area for storing incoming data for display and a graphics buffer area for storing graphics data, and a processor for passing graphics data stored in the graphics buffer area to the data buffer area for combination with display data stored therein.
The data buffer area may comprise two data buffer sub-areas, and the receiver/decoder may further comprise means, for example, a microprocessor, for directing incoming data into one of said sub-areas.
The receiver/decoder may further comprise control means, such as, for example, a device, the directing means being arranged to direct incoming display data to one of the data buffer sub-areas as specified by said control means.
The receiver/decoder may further comprise means, for example, a device, for interchanging the two sub-areas so that further incoming display data is storable in the other sub-area and graphics data stored in the graphics buffer area is passable to the other sub-area.
The interchanging means may be adapted to interchange the two data buffer sub-areas immediately after graphics data stored in the graphics buffer area is passed to one of the data buffer sub-areas.
The graphics buffer area may comprise a plurality of graphics buffer sub-areas in which graphics data is storable, graphics data being passable to the data buffer area from a selected one of the graphics buffer sub-areas.
The receiver/decoder may further comprise means for combining the combined graphics and display data with other received data to provide video data. IN one preferred embodiment, the combining means is a mixing circuit.
The passing means may be arranged to pass graphics data stored in the graphics buffer area into the data buffer area for combination with display data stored therein immediately before combining means combines the combined graphics and display data with said other received data.
The receiver/decoder may further comprise buffer control means, such as, for example, a device, the data buffer sub-areas being defined by the buffer control means.
The present invention also extends to a broadcast and reception system including a receiver/decoder as aforementioned, and means for broadcasting said data. In a preferred embodiment, the system is a digital television system.
Various functions of the receiver/decoder may be implemented in hardware, for example in a dedicated integrated circuit; this may provide enhanced speed of operation. Preferably, however, at least some of the functions are implemented in software, preferably implemented by processing means which runs the applications; this can allow greater flexibility, require less components, and allow the receiver/decoder to be updated more readily.
Receiver/decoders embodying the invention will now be described, by way of example, with reference to the drawings, in which:
FIG. 1 is a schematic diagram of a digital television system;
FIG. 2 is a schematic diagram of the structure of a receiver/decoder of the system of FIG. 1;
FIG. 3 is a functional block diagram of the layered architecture of the receiver/decoder;
FIG. 4 is a schematic diagram of the arrangement of the graphic processor of the receiver/decoder;
FIG. 5 is a schematic diagram of a RAM memory of the graphic processor; and
FIG. 6 is a schematic diagram illustrating the combination of layers of a video display.
An overview of a digital television system 1 is shown in FIG. 1. The invention includes a mostly conventional digital television system 2 that uses the known MPEG-2 compression system to transmit compressed digital signals. In more detail, MPEG-2 compressor 3 in a broadcast centre receives a digital signal stream (typically a stream of video signals). The compressor 3 is connected to a multiplexer and scrambler 4 by linkage 5.
The multiplexer 4 receives a plurality of further input signals, assembles the transport stream and transmits compressed digital signals to a transmitter 6 of the broadcast centre via linkage 7, which can of course take a wide variety of forms including telecommunications links. The transmitter 6 transmits electromagnetic signals via uplink 8 towards a satellite transponder 9, where they are electronically processed and broadcast via notional downlink 10 to earth receiver 12, conventionally in the form of a dish owned or rented by the end user. The signals received by receiver 12 are transmitted to an integrated receiver/decoder 13 owned or rented by the end user and connected to the end user's television set 14. The receiver/decoder 13 decodes the compressed MPEG-2 signal into a television signal for the television set 14.
Other transport channels for transmission of the data are of course possible, such as terrestrial broadcast, cable transmission, combined satellite/cable links, telephone networks etc.
In a multichannel system, the multiplexer 4 handles audio and video information received from a number of parallel sources and interacts with the transmitter 6 to broadcast the information along a corresponding number of channels. In addition to audiovisual information, messages or applications or any other sort of digital data may be introduced in some or all of these channels interlaced with the transmitted digital audio and video information.
A conditional access system 15 is connected to the multiplexer 4 and the receiver/decoder 13, and is located partly in the broadcast centre and partly in the decoder. It enables the end user to access digital television broadcasts from one or more broadcast suppliers. A smartcard, capable of deciphering messages relating to commercial offers (that is, one or several television programmes sold by the broadcast supplier), can be inserted into the receiver/decoder 13. Using the decoder 13 and smartcard, the end user may purchase commercial offers in either a subscription mode or a pay-per-view mode.
As mentioned above, programmes transmitted by the system are scrambled at the multiplexer 4, the conditions and encryption keys applied to a given transmission being determined by the access control system 15. Transmission of scrambled data in this way is well known in the field of pay TV systems. Typically, scrambled data is transmitted together with a control word for descrambling of the data, the control word itself being encrypted by a so-called exploitation key and transmitted in encrypted form.
The scrambled data and encrypted control word are then received by the decoder 13 having access to an equivalent to the exploitation key stored on a smart card inserted in the decoder to decrypt the encrypted control word and thereafter descramble the transmitted data. A paid-up subscriber will receive, for example, in a broadcast monthly ECM (Entitlement Control Message) the exploitation key necessary to decrypt the encrypted control word so as to permit viewing of the transmission.
An interactive system 16, also connected to the multiplexer 4 and the receiver/decoder 13 and again located partly in the broadcast centre and partly in the decoder, enables the end user to interact with various applications via a modern back channel 17. The modem back channel may also be used for communications used in the conditional access system 15. An interactive system may be used, for example, to enable the viewer to communicate immediately with the transmission centre to demand authorisation to watch a particular event, download an application etc.
Referring to FIG. 2, the elements of the receiver/decoder 13 or set-top box will now be described. The elements shown in this figure will be described in terms of functional blocks.
The decoder 13 comprises a central processor 20 including associated memory elements and adapted to receive input data from a serial interface 21, a parallel interface 22, a modem 23 (connected to the modem back channel 17 of FIG. 1), and switch contacts 24 on the front panel of the decoder.
The decoder is additionally adapted to receive inputs from an infra-red remote control 25 via a control unit 26 and also possesses two smartcard readers 27, 28 adapted to read bank or subscription smartcards 29, 30 respectively. The subscription smartcard reader 28 engages with an inserted subscription card 30 and with a conditional access unit 29 to supply the necessary control word to a demultiplexer/descrambler 30 to enable the encrypted broadcast signal to be descrambled. The decoder also includes a conventional tuner 31 and demodulator 32 to receive and demodulate the satellite transmission before being filtered and demultiplexed by the unit 30.
Processing of data within the decoder is generally handled by the central processor 20. FIG. 3 illustrates the software architecture of the central processor 20 of the receiver/decoder. With reference to FIG. 3, the software architecture comprises a Run-Time-Engine 4008, a Device Manager 4068 and a plurality of Devices 4062 and Device Drivers 4066 for running one or more applications 4056.
As used in this description, an application is a piece of computer code for controlling high level functions of preferably the receiver/decoder 13. For example, when the end user positions the focus of remote control 25 on a button object seen on the screen of the television set 14 and presses a validation key, the instruction sequence associated with the button is run.
An interactive application proposes menus and executes commands at the request of the end user and provides data related to the purpose of the application. Applications may be either resident applications, that is, stored in the ROM (or FLASH or other non-volatile memory) of the receiver/decoder 13, or broadcast and downloaded into the RAM or FLASH memory of the receiver/decoder 13.
Applications are stored in memory locations in the receiver/decoder 13 and represented as resource files. The resource files comprise graphic object description unit files, variables block unit files, instruction sequence files, application files and data files, as described in more detail in the above-mentioned patent specifications.
The receiver/decoder contains memory divided into a RAM volume, a FLASH volume and a ROM volume, but this physical organization is distinct from the logical organization. The memory may further be divided into memory volumes associated with the various interfaces. From one point of view, the memory can be regarded as part of the hardware; from another point of view, the memory can be regarded as supporting or containing the whole of the system shown apart from the hardware.
The central processor 20 can be regarded as centred on a run time engine 4008 forming part of a virtual machine 4007. This is coupled to applications on one side (the “high level” side), and, on the other side (the “low level” side), via various intermediate logical units discussed below, to the receiver/decoder hardware 4061, comprising the various ports as discussed above (that is, for example, the serial interface 21, the parallel interface 22, modem 23, and control unit 26).
With specific reference to FIG. 3, various applications 4057 are coupled to the virtual machine 4007; some of the more commonly used applications may be more or less permanently resident in the system, as indicated at 4057, while others will be downloaded into the system, eg from the MPEG data stream or from other ports as required.
The virtual machine 4007 includes, in addition to the run time engine 4008, some resident library functions 4006 which include a toolbox 4058. The library contains miscellaneous functions in C language used by the engine 4008. These include data manipulation such as compression, expansion or comparison of data structures, line drawing, etc. The library 4006 also includes information about firmware in the receiver/decoder 13, such as hardware and software version numbers and available RAM space, and a function used when downloading a new device 4062. Functions can be downloaded into the library, being stored in FLASH or RAM memory.
The run time engine 4008 is coupled to a device manager 4068 which is coupled to a set of devices 4062 which are coupled to device drivers 4060 which are in turn coupled to the ports or interfaces. In broad terms, a device driver can be regarded as defining a logical interface, so that two different device drivers may be coupled to a common physical port. A device will normally be coupled to more than one device driver; if a device is coupled to a single device driver, the device will normally be designed to incorporate the full functionality required for communication, so that the need for a separate device driver is obviated. Certain devices may communicate among themselves.
As will be described below, there are 3 forms of communication from the devices 4064 up to the run time engine: by means of variables, buffers, and events which are passed to a set of event queues.
Each function of the receiver/decoder 13 is represented as a device 4062 in the software architecture of the receiver/decoder 13. Devices can be either local or remote. Local devices 4064 include smartcards, SCART connector signals, modems, serial and parallel interfaces, a MPEG video and audio player and an MPEG section and table extractor. Remote devices 4066, executed in a remote location, differ from local devices in that a port and procedure must be defined by the system authority or designer, rather than by a device and device driver provided and designed by the receiver/decoder manufacturer.
The run time engine 4008 runs under the control of a microprocessor and a common application programming interface. They are installed in every receiver/decoder 13 so that all receiver/decoders 13 are identical from the application point of view.
The engine 4008 runs applications 4056 on the receiver/decoder 13. It executes interactive applications 4056 and receives events from outside the receiver/decoder 13, displays graphics and text, calls devices for services and uses functions of the library 4006 connected to the engine 4008 for specific computation.
The run time engine 4008 is an executable code installed in each receiver/decoder 13, and includes an interpreter for interpreting and running applications. The engine 4008 is adaptable to any operating system, including a single task operating system (such as MS-DOS). The engine 4008 is based on process sequencer units (which take various events such as a key press, to carry out various actions), and contains its own scheduler to manage event queues from the different hardware interfaces. It also handles the display of graphics and text. A process sequencer unit comprises a set of action-groups. Each event causes the process sequencer unit to move from its current action-group to another action-group in dependence on the character of the event, and to execute the actions of the new action-group.
The engine 4008 comprises a code loader to load and download applications 4056 into the receiver/decoder memory. Only the necessary code is loaded into the RAM or FLASH memory, in order to ensure optimal use. The downloaded data is verified by an authentication mechanism to prevent any modification of an application 4056 or the execution of any unauthorized application. The engine 4008 further comprises a decompressor. As the application code (a form of intermediate code) is compressed for space saving and fast downloading from the MPEG stream or via a built-in receiver/decoder mode, the code must be decompressed before loading it into the RAM. The engine 4008 also comprises an interpreter to interpret the application code to update various variable values and determine status changes, and an error checker.
Before using the services of any device 4062, a program (such as an application instruction sequence) has to be declared as a “client”, that is, a logical access-way to the device 4062 or the device manager 4068. The manager gives the client a client number which is referred to in all accesses to the device. A device 4062 can have several clients, the number of clients for each device 4062 being specified depending on the type of device 4062. A client is introduced to the device 4062 by a procedure “Device: Open Channel”. This procedure assigns a client number to the client. A client can be taken out of the device manager 4068 client list by a procedure “Device: Close Channel”.
The access to devices 4062 provided by the device manager 4068 can be either synchronous or asynchronous. For synchronous access, a procedure “Device: Call” is used. This is a means of accessing data which is immediately available or a functionality which does not involve waiting for the desired response. For asynchronous access, a procedure “Device: I/O” is used. This is a means of accessing data which involves waiting for a response, for example scanning tuner frequencies to find a multiplex or getting back a table from the MPEG stream. When the requested result is available, an event is put in the queue of the engine to signal its arrival. A further procedure “Device: Event” provides a means of managing unexpected events.
As noted above, the main loop of the run time engine is coupled to a variety of process sequencer units, and when the main loop encounters an appropriate event, control is temporarily transferred to one of the process sequencer units.
Thus, it can be seen that the central processor 20 provides a platform having considerable flexibility in enabling an application to communicate with a variety of devices.
In the case of received audio and video signals, the MPEG packets containing these signals will be demultiplexed and filtered so as to pass real time audio and video data in the form of a packetised elementary stream (PES) of audio and visual data to dedicated audio and video processors or decoders 33, 34. The converted output from the audio processor 33 passes to a preamplifier 35 and thereafter via the audio output of the receiver/decoder. The converted output from the video processor 34 passes via a graphic processor 36 and PAL/SECAM encoder 37 to the video output of the receiver/decoder.
With reference to FIG. 2, the graphic processor 36 is preferably designed to generate a screen display combining moving images together with overlaid text or other images. More specifically it can combine 4 layers; a stills layer, a moving image layer, a graphics layer, and a cursor layer. As described in more detail below, the graphic processor 36 additionally receives graphic data for display (such as generated images etc) from the central processor 20 and combines this information with information received from the video processor 34 to generate the screen display.
As shown in more detail in FIG. 4, the graphic processor 36 includes dedicated RAM memory area 40, dedicated microprocessor 41 and graphics library 42. With reference to FIG. 5, the RAM memory area 40 of the graphic processor 36 is divided into a number of buffer areas; a stills layer buffer area 43, a moving image layer buffer area 44 and a graphics layer buffer area 45.
The stills layer is used for background images of a broadly static nature. The circuitry and software associated with the stills layer buffer area 43 can preferably generate an image therein by any desired combination of the following processes:
    • generating and filling rectangles with specific colours (defined by up to 24 bits);
    • copying images received from the MPEG data stream;
    • repeating an image occupying less than the full screen area, to produce a wallpaper effect.
The moving image layer is used for the incoming video signals obtained from the MPEG data stream. The circuitry and software associated with the moving image layer buffer area 44 can preferably resize and scale the incoming images, and combine images from a plurality of sources into different areas of the buffer area.
The graphics layer is used to produce titles and icons (graphics). Titles are frequently subtitles, which appear centred near the lower edge of the image, but may also appear in other positions on the image. Icons are generally geometric shapes such as rectangles, circles, buttons, and dialogue boxes (it will be realized that the term “icon” is here being used in a broad sense).
The graphics layer is defined by one or more rectangular regions, each rectangular region being defined by the coordinates of the upper left corner of the region and the size of the region. Accordingly, the graphics layer buffer area 45 is sub-divided into a plurality of buffer regions 45A, 45B, . . . 45N, one buffer region for each of the rectangular regions of the graphics layer. Each buffer region 45A . . . comprises a plurality of sub-areas 45A0, 45A1 . . . 45An. Each buffer region is created by a “subtitle” device 4062, under the control of an application 4056, in the central processor 20 using a command procedure stored in the graphics library 42.
With reference to FIG. 6, the contents of the stills layer buffer area 43 and the moving image layer buffer area 44, as they are read out, are mixed together by a mixing circuit 50 which can be set to blend (alpha blending, that is, translucently) those outputs; and the output of that mixing circuit 50 is combined with the contents of the graphics layer buffer area 45, as those contents are read out, by a similar mixing circuit 51.
The output of that mixing circuit is combined with the output of a hardware cursor generator 52 by a combining circuit 53 which superposes a cursor signal on the combination of the first 3 layers. The cursor layer is preferably superposed opaquely, that is, without the option of blending, on the combination of the first 3 layers, so that the combination of the first 3 layers is wholly obscured within the area of the cursor. However, one of the bit values available for the cursor pixels is preferably “transparent”, so that the cursor can effectively have “holes” in it through which the underlying combined image from the first 3 layers can be seen.
This 4-layer structure produces potential problems with respect to the third layer, that is, the graphics layer. These problems arise because two separate types of display element, titles and icons, are being generated in the same layer. There is therefore the possibility of conflict between these two types of display element. For example, it will often be desirable to change the titles and the icons at different times (and often it will be desirable for the icons to remain in place for longer than the titles). As noted above, the fact that titles may appear in any position on the display, rather than solely in the standard subtitle position, means that such possibility of conflict is substantial.
To overcome this problem, each buffer region 45A, 45B . . . includes two buffer sub-areas 45A0 and 45A1 which are reserved for use by the subtitle device 4062 to build and display subtitles.
The subtitle device 4062 in the central processor 20 selects which of the two buffer sub-areas 45A0 and 45A1 is to be used to receive incoming data for display and outputs an appropriate command to the graphic processor 36. In turn, the microprocessor 41 of the graphic processor 36 directs incoming data to the selected buffer sub-area. For this purpose, the two buffer sub-areas 45A0 and 45A1 are treated as a “working buffer” and a “display buffer”. The sub-area into which currently incoming data is fed is the working buffer, so its contents will be changing.
The received data (subtitles) is directed into the two buffers sub-areas 45A0 and 45A1 alternately. In other words, the subtitle device 4062 reverses the roles of the two sub-areas each time the working buffer has a new complete subtitle page to display, as the contents of that sub-area are no longer changing, giving a steady image which is acceptable to the viewer so that sub-area can be used as the display buffer. The contents of the display buffer are read out as the graphics layer for combination with the combined stills layer and moving image layer. The interval between the interchange of the roles of the two sub-areas 45A0 and 45A1, that is, between the interchange of the working and display buffers, is typically 5 to 10 s. At that point, the subtitle device 4062 in the central processor 20 outputs an appropriate command to the graphic processor 36 to interchange the roles of the two sub-areas 45A0 and 45A1, and, in turn, the microprocessor 41 of the graphic processor 36 clears the contents of the other sub-area and directs incoming data to that sub-area.
Each buffer region 45A, 45B . . . includes a further buffer area, namely an icon buffer area 45Ai, 45Bi . . . , as shown in FIG. 5. Each icon buffer area 45Ai comprises one or more icon buffer sub-areas, 45A2, 45A3 . . . up to 45A15. Each icon buffer sub-area contains respective icon image data. The icon image may be generated by software stored in the central processor 20, stored in the RAM area 20A (or FLASH memory area) of the central processor 20 and copied by the central processor 20 into a designated icon buffer sub-area of the RAM area 41 of the graphic processor 36. Once an icon image has been stored in the graphic processor 36, it remains in its buffer sub-area and can be copied repeatedly to either of the two buffer sub-areas 45A0 and 45A1 whenever required. In this way, a whole series of icon images can be constructed, which can be used in whatever sequences and at whatever times are required.
The combination of the two images, the subtitles image in one or other of the buffer sub-areas 45A0 and 45A1 and the icon image in the icon buffer area 45Ai, is achieved by copying the icon image into the working buffer, that is, into whichever of the two sub-areas 45A0 and 45A1 is not currently the display buffer. As specified by the controlling application, the subtitle device 4062 outputs an appropriate command to the graphic processor 36 to copy the contents of a specified icon buffer sub-area to the working buffer just before the working buffer is to become the display buffer, that is, when a complete subtitle page has been stored in the working buffer. With the above arrangement, the icon image currently being displayed is stored in the display buffer, the next icon image to be displayed may already be stored in the working buffer, and a fresh icon image may be under construction by the icon generator while the working buffer is receiving subtitles data. This arrangement requires synchronism between the interchanging of the working and adjacent play buffers and the construction of fresh icon images.
At any time, the application controlling the subtitle device 4062 may require the currently displayed icon image to be changed without alteration of the displayed subtitle, for example, upon input of a command from the remote control 25. In this case, the subtitle device 4062 outputs a command to the graphic processor 36 to copy an icon image stored in the icon buffer area immediately into the display buffer over the icon image already stored therein.
In summary, when a subtitle screen has been fully received in the data buffer area, a central processing unit in the receiver/decoder, under the control of a device, passes icon data into the data buffer area, preferably just before the data stored in the data buffer area is combined with other data to provide video data. Hence, in the event of an overlap between the icon and part of the subtitle, the icon can be laid over that part of the subtitle, but the non-overlapped parts can be concurrently displayed with the icon.
The precise details of the implementation of the various functions described above, and their distribution between hardware and software, are a matter of choice for the implementor and will not be described in detail. It is, however, noted that dedicated integrated circuits capable of performing the operations required in the receiver/decoder are commercially available or can be readily designed, and these can be used as the basis for a hardware accelerator, or more preferably modified to produce a dedicated hardware accelerator, to implement various of the operations required, thereby reducing the processing power required to run the software. However, the operations required may be implemented in software if sufficient processing power is available.
The modules and other components have been described in terms of the features and functions provided by each component, together with optional and preferable features. With the information given and specifications provided, actual implementation of these features and the precise details are left to the implementor. As an example, certain modules could be implemented in software, preferably written in the C programming language and preferably compiled to run on the processor used to run the application; however, some components may be run on a separate processor, and some or all components may be implemented by dedicated hardware.
The above modules and components are merely illustrative, and the invention may be implemented in a variety of ways, and, in particular, some components may be combined with others which perform similar functions, or some may be omitted in simplified implementations. Hardware and software implementations of each of the functions may be freely mixed, both between components and within a single component.
It will be readily understood that the functions performed by the hardware, the computer software, and such like are performed on or using electrical and like signals. Software implementations may be stored in ROM, or may be patched in FLASH.
It will be understood that the present invention has been described above purely by way of example, and modifications of detail can be made within the scope of the invention. Each feature disclosed in the description, and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination.

Claims (22)

1. A method for processing video data in a receiver/decoder comprising:
designating a first buffer sub-area as a display buffer;
designating a second buffer sub-area as a working buffer, wherein the working buffer is initially reserved only for incoming subtitle data comprising at least one subtitle, and wherein a content of the working buffer is constantly changing;
storing subtitle data in the working buffer to obtain a complete subtitle page;
storing graphics data in a third buffer sub-area; and
copying the graphics data from the third buffer sub-area into the working buffer after obtaining the complete subtitle page to obtain a complete image;
interchanging roles of the working buffer and the display buffer such that the complete image is transferred from the working buffer to the display buffer; and
displaying the complete subtitle page,
wherein the graphics data is copied into the working buffer just before the working buffer becomes the display buffer,
wherein the complete image comprises both the complete subtitle page and the graphics data, and
wherein the first buffer sub-area, the second buffer sub-area, and the third buffer sub-area are distinct buffer sub-areas located in a graphics buffer region.
2. The method of claim 1, wherein the third buffer sub-area comprises a plurality of icon buffer sub-areas.
3. The method of claim 2, wherein graphics data is stored in any one of the plurality of icon buffer sub-areas.
4. The method of claim 1, wherein interchanging the roles of the working buffer and the display buffer occurs at a specific time interval.
5. The method of claim 4, wherein the specific time interval is in the range of 5-10 seconds.
6. The method of claim 1, wherein displaying the complete image comprises displaying graphics data over the subtitle data for overlapping portions of graphics data and subtitle data.
7. The method of claim 1, wherein displaying the complete image comprises displaying non-overlapping portions of graphics data and subtitle data concurrently.
8. The method of claim 1, wherein other received data to be displayed as the complete image is copied into the working buffer immediately after copying the graphics data into the working buffer.
9. The method of claim 1, wherein the complete image comprises a graphics layer comprising the graphics data and the subtitle data, a stills data layer, a moving image data layer, and a cursor data layer.
10. The method of claim 9, wherein the moving image data layer and the subtitle data comprise at least part of an MPEG datastream.
11. The method of claim 1, wherein graphics data comprises icon data.
12. An apparatus for processing video data in a receiver/decoder comprising:
a first buffer sub-area initially designated as a display buffer and configured to store subtitle data in a complete subtitle page, wherein subtitle data comprises at least one subtitle;
a second buffer sub-area initially designated as a working buffer, wherein the working buffer is initially reserved only for incoming subtitle data, and wherein a content of the working buffer is constantly changing; and
a third buffer sub-area configured to store graphics data,
wherein the receiver/decoder is configured to:
copy the graphics data from the third buffer sub-area into the working buffer after obtaining the complete subtitle page to obtain a complete image;
interchange roles of the working buffer and the display buffer such that the complete image is transferred from the working buffer to the display buffer; and
display the complete image, wherein the complete image comprises the complete subtitle page and the graphics data,
wherein the graphics data is copied into the working buffer just before the working buffer becomes the display buffer,
wherein the first buffer sub-area, the second buffer sub-area, and the third buffer sub-area are distinct buffer sub-areas located in a graphics buffer region.
13. The apparatus of claim 12, wherein the third buffer sub-area comprises a plurality of icon buffer sub-areas.
14. The method of claim 13, wherein graphics data is stored in any one of the plurality of icon buffer sub-areas.
15. The method of claim 12, wherein interchanging the roles of the working buffer and the display buffer occurs at a specific time interval.
16. The method of claim 15, wherein the specific time interval is in the range of 5-10 seconds.
17. The apparatus of claim 12, wherein graphics data comprises icon data.
18. The apparatus of claim 12, wherein displaying the complete image comprises displaying graphics data over the subtitle data for overlapping portions of graphics data and subtitle data.
19. The apparatus of claim 12, wherein displaying the complete image comprises displaying non-overlapping portions of graphics data and subtitle data concurrently.
20. The apparatus of claim 12, wherein other received data to be displayed as the complete image is copied into the working buffer immediately after copying the graphics data into the working buffer.
21. The apparatus of claim 12, wherein the complete image comprises a graphics layer comprising the graphics data and the subtitle data, a stills data layer, a moving image data layer, and a cursor data layer.
22. A broadcast and reception system including a receiver/decoder according to claim 12, and means for broadcasting said data.
US09/674,079 1998-04-29 1999-04-29 Receiver/decoder and method of processing video data Expired - Lifetime US7284262B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98401075A EP0954171A1 (en) 1998-04-29 1998-04-29 Receiver/decoder and method of processing video data
PCT/IB1999/000850 WO1999056465A1 (en) 1998-04-29 1999-04-29 Receiver/decoder and method of processing video data

Publications (1)

Publication Number Publication Date
US7284262B1 true US7284262B1 (en) 2007-10-16

Family

ID=8235358

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/674,079 Expired - Lifetime US7284262B1 (en) 1998-04-29 1999-04-29 Receiver/decoder and method of processing video data

Country Status (22)

Country Link
US (1) US7284262B1 (en)
EP (2) EP0954171A1 (en)
JP (1) JP4549532B2 (en)
KR (1) KR100613220B1 (en)
CN (1) CN100399811C (en)
AT (1) ATE225586T1 (en)
AU (1) AU3622499A (en)
BR (1) BR9910053B1 (en)
CA (1) CA2329339A1 (en)
DE (1) DE69903281T2 (en)
ES (1) ES2184444T3 (en)
HK (1) HK1032873A1 (en)
HR (1) HRP20000691A2 (en)
HU (1) HUP0102700A2 (en)
ID (1) ID27087A (en)
IL (1) IL139107A0 (en)
NO (1) NO20005403L (en)
NZ (1) NZ507809A (en)
PL (1) PL343757A1 (en)
TR (1) TR200003134T2 (en)
WO (1) WO1999056465A1 (en)
ZA (1) ZA200006804B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060107270A1 (en) * 2000-08-17 2006-05-18 Matsushita Electric Industrial Co., Ltd. Information communication system
US20090076856A1 (en) * 2007-09-19 2009-03-19 Fresenius Medical Care Holdings, Inc. Patient-specific content delivery methods and systems
US20110105979A1 (en) * 2009-11-05 2011-05-05 Fresenius Medical Care Holdings, Inc. Patient treatment and monitoring systems and methods
US20110154377A1 (en) * 2009-12-17 2011-06-23 Eben Upton Method and system for reducing communication during video processing utilizing merge buffering
US8698741B1 (en) 2009-01-16 2014-04-15 Fresenius Medical Care Holdings, Inc. Methods and apparatus for medical device cursor control and touchpad-based navigation
US10799117B2 (en) 2009-11-05 2020-10-13 Fresenius Medical Care Holdings, Inc. Patient treatment and monitoring systems and methods with cause inferencing

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359481B2 (en) * 2003-05-27 2008-04-15 Hitachi Medical Corporation X-ray image diagnostic device
KR100657276B1 (en) 2004-08-30 2006-12-14 삼성전자주식회사 Video display control apparatus and video display control method
CN107770472B (en) * 2017-10-31 2020-07-28 中国电子科技集团公司第二十九研究所 Digital demodulation method and digital signal image recovery method for SECAM analog television signal

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862154A (en) 1986-10-31 1989-08-29 International Business Machines Corporation Image display processor for graphics workstation
EP0384257A2 (en) 1989-02-23 1990-08-29 International Business Machines Corporation Audio video interactive display
EP0484981A2 (en) 1990-11-09 1992-05-13 Fuji Photo Film Co., Ltd. Image data processing apparatus
EP0575149A2 (en) 1992-06-16 1993-12-22 Honeywell Inc. Priority based graphics in an open systems windows environment
US5274753A (en) * 1990-05-24 1993-12-28 Apple Computer, Inc. Apparatus for distinguishing information stored in a frame buffer
US5386233A (en) * 1993-05-13 1995-01-31 Intel Corporation Method for efficient memory use
US5517612A (en) * 1993-11-12 1996-05-14 International Business Machines Corporation Device for scaling real-time image frames in multi-media workstations
US5519450A (en) * 1994-11-14 1996-05-21 Texas Instruments Incorporated Graphics subsystem for digital television
US5559549A (en) * 1992-12-09 1996-09-24 Discovery Communications, Inc. Television program delivery system
US5570126A (en) * 1993-05-03 1996-10-29 Lucent Technologies Inc. System for composing multimedia signals for interactive television services
EP0752695A2 (en) 1995-07-05 1997-01-08 Sun Microsystems, Inc. Method and apparatus for simultaneously displaying graphics and video data on a computer display
US5594467A (en) 1989-12-06 1997-01-14 Video Logic Ltd. Computer based display system allowing mixing and windowing of graphics and video
US5611041A (en) * 1994-12-19 1997-03-11 Cirrus Logic, Inc. Memory bandwidth optimization
EP0766463A2 (en) 1995-09-27 1997-04-02 Kabushiki Kaisha Toshiba Television receiver with superimposition of text and/or graphic patterns on the television picture
US5640502A (en) * 1994-08-05 1997-06-17 Thomson Consumer Electronics, Inc. Bit-mapped on-screen-display device for a television receiver
US5642498A (en) * 1994-04-12 1997-06-24 Sony Corporation System for simultaneous display of multiple video windows on a display device
EP0802519A1 (en) 1996-04-19 1997-10-22 Seiko Epson Corporation System and method for implementing an overlay pathway
US5781687A (en) * 1993-05-27 1998-07-14 Studio Nemo, Inc. Script-based, real-time, video editor
US5801782A (en) * 1996-03-21 1998-09-01 Samsung Information Systems America Analog video encoder with metered closed caption data on digital video input interface
US5825371A (en) * 1995-04-20 1998-10-20 Nec Corporation Graphics controller including a sub-memory
US5835156A (en) * 1996-08-14 1998-11-10 Samsung Electroncis, Ltd. Television graphical user interface employing remote random access pointing device
US5943065A (en) * 1991-11-21 1999-08-24 Videologic Limited Video/graphics memory system
US6031577A (en) * 1997-07-10 2000-02-29 Thomson Consumer Electronics, Inc. System for forming and processing program specific information containing text data for terrestrial, cable or satellite broadcast
US6091431A (en) * 1997-12-18 2000-07-18 Intel Corporation Method and apparatus for improving processor to graphics device local memory performance
US6593937B2 (en) * 1998-06-18 2003-07-15 Sony Corporation Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format
US7068280B1 (en) * 2001-12-14 2006-06-27 Cirrus Logic, Inc. Method and apparatus to provide overlay buffering

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3227086B2 (en) * 1996-02-01 2001-11-12 基弘 栗須 TV on-screen display device
JPH1042194A (en) * 1996-07-19 1998-02-13 Sony Corp Image composite device
JPH10105150A (en) * 1996-09-30 1998-04-24 Toshiba Corp Character storage circuit and display control unit

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862154A (en) 1986-10-31 1989-08-29 International Business Machines Corporation Image display processor for graphics workstation
EP0384257A2 (en) 1989-02-23 1990-08-29 International Business Machines Corporation Audio video interactive display
US5594467A (en) 1989-12-06 1997-01-14 Video Logic Ltd. Computer based display system allowing mixing and windowing of graphics and video
US5274753A (en) * 1990-05-24 1993-12-28 Apple Computer, Inc. Apparatus for distinguishing information stored in a frame buffer
EP0484981A2 (en) 1990-11-09 1992-05-13 Fuji Photo Film Co., Ltd. Image data processing apparatus
US5943065A (en) * 1991-11-21 1999-08-24 Videologic Limited Video/graphics memory system
EP0575149A2 (en) 1992-06-16 1993-12-22 Honeywell Inc. Priority based graphics in an open systems windows environment
US5559549A (en) * 1992-12-09 1996-09-24 Discovery Communications, Inc. Television program delivery system
US5570126A (en) * 1993-05-03 1996-10-29 Lucent Technologies Inc. System for composing multimedia signals for interactive television services
US5386233A (en) * 1993-05-13 1995-01-31 Intel Corporation Method for efficient memory use
US5781687A (en) * 1993-05-27 1998-07-14 Studio Nemo, Inc. Script-based, real-time, video editor
US5517612A (en) * 1993-11-12 1996-05-14 International Business Machines Corporation Device for scaling real-time image frames in multi-media workstations
US5642498A (en) * 1994-04-12 1997-06-24 Sony Corporation System for simultaneous display of multiple video windows on a display device
US5640502A (en) * 1994-08-05 1997-06-17 Thomson Consumer Electronics, Inc. Bit-mapped on-screen-display device for a television receiver
US5519450A (en) * 1994-11-14 1996-05-21 Texas Instruments Incorporated Graphics subsystem for digital television
US5611041A (en) * 1994-12-19 1997-03-11 Cirrus Logic, Inc. Memory bandwidth optimization
US5825371A (en) * 1995-04-20 1998-10-20 Nec Corporation Graphics controller including a sub-memory
US5896140A (en) * 1995-07-05 1999-04-20 Sun Microsystems, Inc. Method and apparatus for simultaneously displaying graphics and video data on a computer display
EP0752695A2 (en) 1995-07-05 1997-01-08 Sun Microsystems, Inc. Method and apparatus for simultaneously displaying graphics and video data on a computer display
EP0766463A2 (en) 1995-09-27 1997-04-02 Kabushiki Kaisha Toshiba Television receiver with superimposition of text and/or graphic patterns on the television picture
US5801782A (en) * 1996-03-21 1998-09-01 Samsung Information Systems America Analog video encoder with metered closed caption data on digital video input interface
EP0802519A1 (en) 1996-04-19 1997-10-22 Seiko Epson Corporation System and method for implementing an overlay pathway
US5835156A (en) * 1996-08-14 1998-11-10 Samsung Electroncis, Ltd. Television graphical user interface employing remote random access pointing device
US6031577A (en) * 1997-07-10 2000-02-29 Thomson Consumer Electronics, Inc. System for forming and processing program specific information containing text data for terrestrial, cable or satellite broadcast
US6091431A (en) * 1997-12-18 2000-07-18 Intel Corporation Method and apparatus for improving processor to graphics device local memory performance
US6593937B2 (en) * 1998-06-18 2003-07-15 Sony Corporation Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format
US7068280B1 (en) * 2001-12-14 2006-06-27 Cirrus Logic, Inc. Method and apparatus to provide overlay buffering

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060107270A1 (en) * 2000-08-17 2006-05-18 Matsushita Electric Industrial Co., Ltd. Information communication system
US20090076856A1 (en) * 2007-09-19 2009-03-19 Fresenius Medical Care Holdings, Inc. Patient-specific content delivery methods and systems
US8543420B2 (en) 2007-09-19 2013-09-24 Fresenius Medical Care Holdings, Inc. Patient-specific content delivery methods and systems
US8698741B1 (en) 2009-01-16 2014-04-15 Fresenius Medical Care Holdings, Inc. Methods and apparatus for medical device cursor control and touchpad-based navigation
US10078438B2 (en) 2009-01-16 2018-09-18 Fresenius Care Holdings, Inc. Methods and apparatus for medical device cursor control and touchpad-based navigation
US10824326B2 (en) 2009-01-16 2020-11-03 Fresenius Medical Care Holdings, Inc. Remote interfacing with a networked dialysis system
US11481105B2 (en) 2009-01-16 2022-10-25 Fresenius Medical Care Holdings, Inc. Remote interfacing with a networked dialysis system
US20110105979A1 (en) * 2009-11-05 2011-05-05 Fresenius Medical Care Holdings, Inc. Patient treatment and monitoring systems and methods
US8632485B2 (en) 2009-11-05 2014-01-21 Fresenius Medical Care Holdings, Inc. Patient treatment and monitoring systems and methods
US10799117B2 (en) 2009-11-05 2020-10-13 Fresenius Medical Care Holdings, Inc. Patient treatment and monitoring systems and methods with cause inferencing
US20110154377A1 (en) * 2009-12-17 2011-06-23 Eben Upton Method and system for reducing communication during video processing utilizing merge buffering
US9135036B2 (en) * 2009-12-17 2015-09-15 Broadcom Corporation Method and system for reducing communication during video processing utilizing merge buffering

Also Published As

Publication number Publication date
NO20005403L (en) 2000-12-22
BR9910053A (en) 2001-01-09
TR200003134T2 (en) 2001-01-22
JP4549532B2 (en) 2010-09-22
NZ507809A (en) 2002-04-26
CN100399811C (en) 2008-07-02
NO20005403D0 (en) 2000-10-26
HUP0102700A2 (en) 2001-11-28
CA2329339A1 (en) 1999-11-04
JP2002513253A (en) 2002-05-08
DE69903281T2 (en) 2003-06-18
ID27087A (en) 2001-02-22
ZA200006804B (en) 2001-08-30
WO1999056465A1 (en) 1999-11-04
KR20010043114A (en) 2001-05-25
HRP20000691A2 (en) 2001-04-30
HK1032873A1 (en) 2001-08-03
BR9910053B1 (en) 2014-12-16
EP1078515B1 (en) 2002-10-02
PL343757A1 (en) 2001-09-10
EP1078515A1 (en) 2001-02-28
DE69903281D1 (en) 2002-11-07
IL139107A0 (en) 2001-11-25
ES2184444T3 (en) 2003-04-01
EP0954171A1 (en) 1999-11-03
KR100613220B1 (en) 2006-08-18
ATE225586T1 (en) 2002-10-15
AU3622499A (en) 1999-11-16
CN1307780A (en) 2001-08-08

Similar Documents

Publication Publication Date Title
US7039245B1 (en) Processing of digital picture data in a decoder
EP1097584B1 (en) Navigation system for a multichannel digital television system
US7284262B1 (en) Receiver/decoder and method of processing video data
EP1067806A1 (en) Apparatus for and method of testing applications
EP1057346B1 (en) Processing of graphical digital picture data in a decoder
WO2000036827A1 (en) Receiver and method for controlling graphic display
MXPA00010628A (en) Receiver/decoder and method of processing video data
EP1067455A1 (en) Running and testing applications
MXPA00007900A (en) Processing of digital picture data in a decoder
Chilton Software implementation issues in digital integrated receiver decoders

Legal Events

Date Code Title Description
AS Assignment

Owner name: CANAL+SOCIETE ANONYME, FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MERIC, JEROME;LETOURNEUR, PATRICE;REEL/FRAME:011383/0112

Effective date: 20001016

AS Assignment

Owner name: CANAL + TECHNOLOGIES, FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:CANAL+SOCIETE ANONYME;REEL/FRAME:015460/0054

Effective date: 20040323

Owner name: CANAL + TECHNOLOGIES,FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:CANAL+SOCIETE ANONYME;REEL/FRAME:015460/0054

Effective date: 20040323

AS Assignment

Owner name: THOMSON LICENSING S.A., FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CANAL + TECHNOLOGIES;REEL/FRAME:015509/0053

Effective date: 20041119

Owner name: THOMSON LICENSING S.A.,FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CANAL + TECHNOLOGIES;REEL/FRAME:015509/0053

Effective date: 20041119

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: THOMSON LICENSING, FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:THOMSON LICENSING S.A.;REEL/FRAME:051317/0841

Effective date: 20050726

Owner name: INTERDIGITAL CE PATENT HOLDINGS, FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THOMSON LICENSING;REEL/FRAME:051340/0289

Effective date: 20180730