System for visualizing data

09786325 · 2017-10-10

Assignee

Inventors

Cpc classification

International classification

Abstract

A system for visualizing data includes storage means, and a video source arranged for dividing first data to be visualized in one or more banner areas in a plurality of chunks and arranged for outputting the plurality of chunks of the first data to be displayed and for outputting second data to be visualized as a background. A display for visualizing the first and second data is adapted for having information scrolling in the banner areas of the display. A scroll engine is arranged for receiving the first and second data from the video source, and for grabbing chunks of the first data of the plurality of chunks and for storing the grabbed chunks in the storage means. The scroll engine comprises multiplexing means for multiplexing the second data with stored chunks of the first data, and is arranged for forwarding the multiplexed first and second data to the display.

Claims

1. A system for visualizing data comprising a video source arranged for dividing first data to be visualized in one or more banner areas in a plurality of chunks, arranged for rendering said first data and for rendering second data to be visualized as a background and arranged for outputting said plurality of chunks of said first data to be displayed and for outputting said second data to be visualized as a background, a display for visualizing said first and second data, said display being adapted for having information scrolling in said one or more banner areas of the display, said system further comprising storage means for storing said first data, and a scroll engine arranged for receiving said first and said second data from said video source and arranged for grabbing chunks of said first data of said plurality of chunks and for storing said grabbed chunks in said storage means, said scroll engine comprising multiplexing means for multiplexing, once enough chunks of said first data have been stored in said storage means, said second data with stored chunks of said first data from said storage means, said scroll engine arranged for forwarding said multiplexed first and second data to said display, where the chunks of said first data are shown scrolling in a banner in said one or more banner areas overlaid on said second data, said scroll engine further comprising a read pointer for pointing to a location in said storage means wherefrom said first data is read, said read pointer being incrementable with a constant value according to a scroll speed so that smooth scrolling is obtained.

2. The system for visualizing data as in claim 1, wherein said video source is adapted to add a marker to a chunk of said plurality of chunks of first data, said marker at least comprising synchronization information.

3. The system for visualizing data as in claim 2, wherein said marker is contained in a set of pixels of said chunks of first data.

4. The system for visualizing data as in claim 3, wherein the colour of said pixels is indicative of the information contained in said pixels.

5. The system for visualizing data as in claim 3, wherein said marker comprises a header, a payload and a checksum.

6. The system for visualizing data as in claim 5, wherein said payload comprises at least one of the following elements: chunk width, chunk identification, coordinates of a part of said display where first data is to be displayed, timing information.

7. The system for visualizing data as in claim 2, wherein said scroll engine comprises control logic arranged for processing said markers in said chunks.

8. The system for visualizing data as in claim 7, wherein said control logic is arranged for performing on said chunks of first data stored in said storage means a shift over a fixed number of pixels per frame.

9. The system for visualizing data as in claim 1, wherein said scroll engine comprises a memory controller for controlling reading from and writing to said storage means.

10. The system for visualizing data as in claim 9, wherein said memory controller can be activated for writing on detection of a marker.

11. The system for visualizing data as in claim 1, wherein said multiplexing means is arranged for calculating said multiplexed data on a pixel-by-pixel basis.

12. The system for visualizing data as in claim 1, wherein said storage means is integrated in said scroll engine.

13. A passenger information system comprising a system for visualizing data as in claim 1.

14. A method for visualizing first data in a banner on a display overlaid on second data, comprising the steps of rendering in a video source said first and second data to be visualized, dividing in said video source said first data to be visualized in one or more banner areas in a plurality of chunks of said first data, grabbing chunks of said first data of said plurality of chunks received from said video source and storing said grabbed chunks in a storage means, multiplexing, once enough chunks of said first data have been stored, said second data received from said video source and to be visualized as a background, with stored chunks of said first data, and forwarding said multiplexed first and second data to said display, where the chunks of said first data are shown scrolling in a banner in said one or more banner areas overlaid on said second data, whereby each time an output frame is refreshed, a read pointer to a location in said storage means wherefrom said first data is read, is incremented with a constant value according to a scroll speed, so that smooth scrolling is obtained.

15. The method for visualizing data as in claim 14, comprising adding a marker to a chunk of said plurality of chunks of first data, said marker at least comprising synchronization information.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The invention will now be described further, by way of example, with reference to the accompanying drawings, wherein like reference numerals refer to like elements in the various figures.

(2) FIG. 1 illustrates a conventional system for displaying video content as applied in passenger information systems.

(3) FIG. 2 illustrates different frames to be visualized on a display.

(4) FIG. 3 illustrates transparent scrolling.

(5) FIG. 4 represents a conventional system with dedicated high bandwidth communication channel to access storage means.

(6) FIG. 5 represents an embodiment of the solution according to the invention.

(7) FIG. 6 illustrates two chunks of data in a banner area.

(8) FIG. 7 illustrates the described grabbing and multiplexing mechanisms in an example.

(9) FIG. 8 represents a more detailed view on an embodiment of the scroll engine.

(10) FIG. 9 illustrates a marker line in a slice of data.

(11) FIG. 10 represents a banner scrolling in the indicated direction.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

(12) The present invention will be described with respect to particular embodiments and with reference to certain drawings but the invention is not limited thereto but only by the claims.

(13) Furthermore, the terms first, second and the like in the description and in the claims, are used for distinguishing between similar elements and not necessarily for describing a sequence, either temporally, spatially, in ranking or in any other manner. It is to be understood that the terms so used are interchangeable under appropriate circumstances and that the embodiments of the invention described herein are capable of operation in other sequences than described or illustrated herein.

(14) It is to be noticed that the term “comprising”, used in the claims, should not be interpreted as being restricted to the means listed thereafter; it does not exclude other elements or steps. It is thus to be interpreted as specifying the presence of the stated features, integers, steps or components as referred to, but does not preclude the presence or addition of one or more other features, integers, steps or components, or groups thereof. Thus, the scope of the expression “a device comprising means A and B” should not be limited to devices consisting only of components A and B. It means that with respect to the present invention, the only relevant components of the device are A and B.

(15) Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.

(16) Similarly it should be appreciated that in the description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.

(17) Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.

(18) It should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being re-defined herein to be restricted to include any specific characteristics of the features or aspects of the invention with which that terminology is associated.

(19) In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

(20) The present invention presents a system for visualising text and image content wherein an additional component is provided. On top of the parts already shown in the prior art system of FIG. 1, the system comprises a scroll engine to handle scrolling of said data or text content in dedicated regions on the display. Further, an additional feature has been implemented in the video source, which gives the video source the capability of adding a marker to a chunk of data to be displayed in a banner, whereby synchronisation information is comprised in said marker.

(21) FIG. 5 illustrates this newly added component (300) together with an adapted video source (100) and the display (200). The scroll engine (300) has access to RAM memory (800) to store data to be visualized by means of an interface (130). This memory can be externally connected or can be implemented within the scroll engine itself.

(22) On the side of the video source (100), the data to be visualized into the banner area is divided in different chunks, also referred to as slices, to be displayed sequentially on the display. In terms of number of pixels, a slice is always smaller than or exactly as large as the banner area. In FIG. 6 two slices are depicted. Slice 580, holding the characters ‘This is an’, is followed by slice 581 containing ‘example’. Both slices fit within the banner area (590) wherein the actual scrolling will take place.

(23) The described process is depicted in FIG. 7 with an example. The first row represents the different frames j to frame j+r of the video source output (115). The area not including the banner area may alter in each frame (e.g. displaying a video) and is directly forwarded to the scroll engine output (125). This is handled by the multiplexing device (310).

(24) Within the scroll engine the scroll engine is capable of grabbing data directly from the video source output (115). Therefore the need for an additional high bandwidth communication channel to connect the video source with the memory is avoided. In frame j the first slice i is copied by the scroll engine into the first memory location as depicted in the second row of FIG. 7.

(25) In frame j the scroll engine outputs the data (115) received at the scroll engine input multiplexed with a banner area overlay. As soon as enough slices are received and stored into the storage means, the scroll engine starts multiplexing the input data (115) with the stored content in memory (800). This is depicted in the third row of FIG. 7, frame j+k. Each time the output frame (125) is refreshed, the read pointer (indicated with marker r in FIG. 7) pointing to the location of the memory wherefrom data is read, is incremented with a constant value according to the scroll speed in order to achieve smooth scrolling.

(26) As soon as the memory is completely filled with chunks of data, the grabbing process is halted until memory can be freed. This happens when a slice has been completely visualized, as is the case for slice i at frame j+n (FIG. 7). At this time memory is freed instantly and as soon as the video source again outputs a next slice to be stored, the scroll engine grabs and stores said chunk. This is depicted in frame j+q.

(27) In the embodiment in FIG. 8 three main components can be identified within the scroll engine:

(28) a memory controller (320) to allow reading from and writing to the memory repository (800).

(29) a multiplexer (310) which calculates—on a pixel basis—the output value, taking into account banner information stored in the memory, video source output (115) and other parameters (e.g. alpha value giving a measure (typically between 0 and 1) for transparency, e.g. alpha=0 is completely invisible and alpha=1 is completely visible) and

(30) the control logic (330) which takes care of the algorithm described more in detail below.

(31) To allow synchronization on frame level, as depicted in FIG. 2, the video source (100) is according to this invention adapted to add to the video stream (115) information referred to as marker lines.

(32) FIG. 9 depicts a banner area and in it a slice (580). In the embodiment shown in the figure the pixels (561) of this slice area hold data which will be processed by the scroll engine. Details on the data are provided below. In this way exact synchronization is achieved and data required for correct scrolling and visualisation on the display can be communicated between video source (100) and scroll engine component (330) without the need of an additional communication channel.

(33) The marker line comprises pixels which hold data by means of the colour of these pixels. For example, in a 6*3 bit per pixel system (e.g. an RGB system), each pixel can hold 18 bit of information. The marker line comprises three main fields:

(34) 1/ a marker line header, which can serve as an ‘eye catcher’, so that the arrival of a marker line can easily be detected by the control logic,

(35) 2/ the payload carrying the data to be processed by the scroll engine and

(36) 3/ a checksum, which is calculated taking into account the previous fields. The latter has been implemented to reduce the risk of a random sequence of pixels (e.g. within a movie) being interpreted incorrectly as a marker line whereby the scrolling process is triggered incorrectly.

(37) In an advantageous embodiment the marker line may be configured as follows. The header part comprises an eye catcher, which is a consecutive number of pixels holding specific colours to ease the localization of the marker line within the data stream (115) by the scroll engine (300). The pay load includes at least one or more of:

(38) marker line version

(39) the background colour of the banner

(40) the text colour of the slices

(41) specific commands (examples are: scroller reset, scroller enable)

(42) number of banner areas

(43) scroll direction

(44) slice identification

(45) transparency value

(46) banner coordinates (both to grab and to display)

(47) slice width

(48) timing (scroll speed)

(49) Further, a checksum can be provided.

(50) The requirement of smooth scrolling without hiccups can be met by shifting data a fixed number of pixels per frame. If this number varies over time, the scrolling is not perceived as smooth. However, implementing this feature in the video source would impose an undue computational burden on the video source. Therefore, in the present invention a realisation in hardware exploiting a scroll engine is proposed. The scroll engine of this invention complies with this requirement of smooth scrolling. It is noted that scrolling can be performed in any direction, i.e. from left to right, from right to left, from bottom to top, from top to bottom or any meaningful combination thereof.

(51) The algorithm execution is supervised by the control logic (330) of the scroll engine (300) and comprises a number of consecutive steps. The video input data is checked by the control logic on the existence of one or more marker lines. If none exists, the video output (125) is equal to the input video stream (115). If a marker line is detected, the control logic parses the required data from its payload. If the banner should not be transparent, the scroll engine lays an overlay over the banner area, using the background colour fetched from the marker line information. At that moment the slice data is not visualized any longer on the display (125), but remains available for the scroll engine. An example is depicted in FIG. 7, row three, frame j. In the case of transparent banners, data is grabbed from a non-visible part of the display.

(52) As soon as one or more marker lines are detected, the scroll engine grabs the slices one by one and stores them in the available memory. The write pointer (indicated with marker w in FIG. 7) points to the next available memory space. If the memory is almost full, the storage will be halted until data has been freed because it has been ‘shifted’ out of the visualization area and is not needed any longer.

(53) As soon as one full slice is available in the memory, the scrolling can start. In FIG. 10 the scrolling has actually started and the first characters of the complete sentence “This is an example” are being visualized.

(54) As soon as a certain marker line is no longer present in the input stream, the control logic immediately removes the banner area(s). In this way, synchronization is achieved on frame level.

(55) In certain embodiments more than one banner can be applied on a display. In that particular case each banner can be treated separately as previously described. For example, data for each banner are separately chunked in slices smaller than or equal to the banner area and provided with marker lines etc. Also the scroll speed can differ between two or more instances.

(56) While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive. The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention may be practiced in many ways. The invention is not limited to the disclosed embodiments.

(57) Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. A single processor or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems. Any reference signs in the claims should not be construed as limiting the scope.