Title of Invention

A METHOD OF REPRESENTING A USER INTERFACE IN DIGITAL SIGNAL PROCESSOR

Abstract A tree-based bit-stream graphical editor for analyzing and editing streams of digital data bits with respect to a protocol. Each node and sub-node of the graphical tree can be labeled. Also, each node and sub-node of the graphical tree can be marked as a binary one or zero. Each sub-node of the tree displays in its label the bit number and a description of its significance in the protocol. Each node of the tree displays in its label the bit number range covered by its child nodes and a description of the meaning of the current state with respect to the protocol.
Full Text

FIELD OF INVENTION
This invention in general relates to the filed of digital communications. The invention further relates to the field of analyzing and editing streams of bits in a digital communication scenario. More particularly, this invention relates to a method of providing a digital signal processor with an effective user interface using a graphical editor.
DESCRIPTION OF THE RELATED ART
Existing user interfaces for such applications use streams of numeric symbols in a convenient number system (usually binary or hexadecimal). These displays are single-level i.e., flat. Other applications use text-based grouping of bits such as explained in US Patent 6,639,607). Editing a particular group of bits is done by selecting text from lists.
Similar tree structures are used in Integrated Development Environments like Microsoft Visual C++ 6.0 for viewing the contents of C/C++ structure data-types (Figure (1)).
A somewhat similar patent is entitled "Graphical user interface for a logic analyzer which allows trigger construction for data communications packets and protocols (US Patent 6,639,607)".
In US Patent 6,639,607 the display and editing of digital signals is done by using text items selected from lists. Each text-item corresponds to a segment of a bit-stream. This is a flat display style.
MS VC++ 6.0 IDE (Figure (1)) provides a tree display. It covers several data-types and their display and editing. The MS VC++ 6.0 IDE displays data-items for editing in a tree. The data items corresponding to data-item-names in the tree can be edited. The purpose and style of the User Interface presented in the current

invention is different from this.
LIMITATIONS
These editors are not efficient in handling primarily bit-based protocols like in facsimile. That is, they are not bit-stream oriented. There is no hierarchical display of bit-segments. With a hierarchical display, portions of the User Interface can be hidden from direct view (a rather obvious feature of the tree data structure).
The MS VC++ 6.0 IDE displays data-item-names and data-items for editing in a tree. Although the data items corresponding to data-item names in the tree can be edited, what the user interface does is to simply show storage locations and their "raw" generic-data contents. A high-level protocol-based interpretation of a particular data-item cannot be displayed. E.g., in figure (d), iMaxSockets is the name of an integer type data-item and its content is 32767. A protocol based interpretation would have likely read "INVALID_NUMBER_OF_SOCKETS" in the data field instead of a "raw" 32767. Or vVersion would have read "WinSock 2" rather than the number 257. The purpose of the VC++ IDE is to directly display data-values to a programmer.
OBJECTS OF THE INVENTION
The primary object of this invention is to invent a method of providing a digital signal processor with an effective user interface using a graphical editor.
It is another object of this invention to provide an effective User Interface for the purpose of displaying, analyzing and editing of bit-stream data.
It is a further object of this invention to provide a method to free a protocol analyzing technician from carrying reference-tables or documentation to interpret bit-streams.

It is another object of this invention to equip a protocol analyzing technician with the right tool to work with digital signals.
SUMMARY OF THE INVENTION
Development of digital systems involves analytic debugging of digital signals. Digital signals are defined by protocols that describe the significance of its bits and bit-segments. For a protocol debugger, it may not be convenient to keep a protocol document for reference while trying to decipher the significance of bits. Also, counting offsets to particular bits is a monotonous and tedious job. This invention provides a User Interface style to analyze and edit such bit-stream digital signals.
Many application scenarios require a user to specify a stream of bits (a "bit-pattern"). Within a stream of bits, either each bit carries the commonly understood meaning, or a group of bits conveys this meaning. This invention uses the combination of a "check + uncheck-able" tree-based user interface and a regular text area for a user to specify a pattern of bits.
The example application shows the idea applied for specifying a pattern of bits relating to basic facsimile protocol and what would be used by a person analyzing and debugging such a protocol.
Accordingly, the invention explains a method of representing a user interface in digital signal processor comprising the steps of:
a. providing a tree-based bit-stream editor having nodes and sub
nodes;
b. setting associated flags for said nodes and sub nodes when
selecting the said nodes; and
c. displaying a label containing the bit number and description of its
significance in a node,

where if a node is selected, at least one of its sub-nodes is selected and if a node is not selected, none of its sub- nodes are selected.
The user interface has a text display showing the bit-stream corresponding to the tree-diagram in a hexadecimal symbol format. The said nodes of the tree displays in its label the bit number range covered by its sub nodes, and a description of the meaning of the current state. The changes made on the text are reflected on the tree and changes made on the tree are reflected on the text. The said nodes have a main root node.
The other objects, features and advantages of the present invention will be apparent from the accompanying drawings and the detailed description as follows.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
Figure 1 shows a Structure/Class Data-type Watch in MS VC++ 6.0 IDE.
Figure 2(a) shows a text area displaying a stream of hexadecimal zeroes.
Figure 2(b) shows a screenshots from the demonstration application when no bit is set.
Figure 3(a) shows a text area displaying a stream of corresponding hexadecimal numbers.
Figure 3(b) shows a screenshot from the demonstration application when bit 12 is set.
Figure 4(a) shows a text area displaying a stream of corresponding hexadecimal numbers.
Figure 4(b) shows a screenshot from the demonstration application when bit 12 and bit 14 are set.
DETAILED DESCRIPTION OF THE INVENTION
The generic style of the invented User Interface can be described as below:

[V]
KV]
|-[V]
|-[V]
|-[V]
|-[V]
4V] |-[V]
|-[V]
|-[V] I K'^l^Sub-item a> I [-[^] I 4V] |-[V] 4V] 4V]
The item could be the name of the protocol itself. Each of these items can be set in a state of "checked" or "unchecked" corresponding to bit "set" or "not-set". The term "range, name or interpretation of below sub-items" means that the label for that node (which is a parent node) describes the range of bits that are covered by its children and also optionally its interpretation based on a protocol.
If a top-level item like or as shown in the generic diagram is checked, then it means that at least one of its sub-items is checked. If it is unchecked, it means that none of its sub-items are checked.
The above said User Interface is also made to work parallel with a conventional text display showing the bit-stream corresponding to the tree-diagram in a hexadecimal symbol format. Changes made on the text are reflected on the tree and vice-versa. For digital data display, data is entered-in as text and the output is

the displayed tree. After editing using either the tree or the corresponding text, the output is the text.
Screenshots from the demonstration application will be used to describe the invention. The demo shows only sub-items up to one level below due to the scope of the particular protocols.
When no bit is set as shown in figure 2(b), the text area displays a stream of hexadecimal zeroes figure 2(a). By protocol the bits convey the meaning of "2400 bits/s Rec V.27" - this information becomes the label of the top-level item as shown below.
When bit -12 is set (by clicking the box next to the node-label to show a tick-symbol) as shown in figure 3(b), the text reflects this change as shown in figure 3(a) and the top-level item label also changes to depict its new meaning, now "4800 bits/s Rec V.27 ter". See below. Now, the top-level item is also shown with a check as shown in figure 3(b).
Now another case, when bit-14 is also set. See figure 4(b). The text reflects the change as shown in figure 4(a).
The method of representing a user interface in digital signal processor comprising the following steps
(a) Providing a tree-based bit-stream editor having nodes and sub nodes.
(b) Setting associated flags for said nodes and sub nodes when selecting the said nodes.
(c) Displaying a label containing the bit number and description of its significance in a node.
If a node is selected, at least one of its sub-nodes is selected and if a node is not selected, none of its sub- nodes are selected. The user interface has a text display

showing the bit-stream corresponding to the tree-diagram in a hexadecimal symbol format. The said nodes of the tree displays in its label the bit number range covered by its sub nodes, and a description of the meaning of the current state. The changes made on the text are reflected on the tree and changes made on the tree are reflected on the text. The said nodes have a main root node.
The foregoing description of a preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings.
Although the invention has been described with respect to specific embodiments thereof, these embodiments are merely illustrative, and not restrictive of the invention.
In the description herein, numerous specific details are provided, such as examples of components and/or methods, to provide a thorough understanding of embodiments of the present invention. One skilled in the relevant art will recognize, however, that an embodiment of the invention can be practiced without one or more of the specific details, or with other apparatus, systems, assemblies, methods, components, materials, parts, and/or the like. In other instances, well-known structures, materials, or operations are not specifically shown or described in detail to avoid obscuring aspects of embodiments of the present invention.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application.
Additionally, any signal arrows in the drawings/Figures should be considered only as exemplary, and not limiting, unless otherwise specifically noted. Furthermore, the term "or" as used herein is generally intended to mean "and/or" unless

otherwise indicated. Combinations of components or steps will also be considered as being noted, where terminology is foreseen as rendering the ability to separate or combine is unclear.
As used in the description herein and throughout the claims that follow, "a", "an", and "the" includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of "in" includes "in" and "on" unless the context clearly dictates otherwise.
The foregoing description of illustrated embodiments of the present invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed herein. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes only, various equivalent modifications are possible within the spirit and scope of the present invention, as those skilled in the relevant art will recognize and appreciate. As indicated, these modifications may be made to the present invention in light of the foregoing description of illustrated embodiments of the present invention and are to be included within the spirit and scope of the present invention.
Thus, while the present invention has been described herein with reference to particular embodiments thereof, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of embodiments of the invention will be employed without a corresponding use of other features without departing from the scope and spirit of the invention as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit of the present invention. It is intended that the invention not be limited to the particular terms used in following claims and/or to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include any and all embodiments and equivalents falling within the scope of the appended claims.



'WE CLAIM
1. A method of representing a user interface in digital signal processor
comprising the steps of:
a. providing a tree-based bit-stream editor having nodes and sub nodes;
b. setting associated flags for said nodes and sub nodes when selecting
the said nodes; and
c. displaying a label containing the bit number and description of its
significance in a node,
where if a node is selected, at least one of its sub-nodes is selected and if a node is not selected, none of its sub- nodes are selected.
2. A method as claimed in claim 1, wherein the said user interface has a text display showing the bit-stream corresponding to the tree-diagram in a hexadecimal symbol format.
3. A method as claimed in claim 1, wherein the said nodes of the tree displays in its label the bit number range covered by its sub nodes, and a description of the meaning of the current state.
4. A method as claimed in claim 1, wherein changes made on the text are reflected on the tree and changes made on the tree are reflected on the text.
5. A method as claimed in claim 1, wherein the said nodes have a main root node.

6. A method of representing a user interface in digital signal processor such as herein substantially described and illustrated.


Documents:

715-che-2004-abstract.pdf

715-che-2004-claims filed.pdf

715-che-2004-claims grand.pdf

715-che-2004-correspondnece-others.pdf

715-che-2004-correspondnece-po.pdf

715-che-2004-description(complete) filed.pdf

715-che-2004-description(complete) grand.pdf

715-che-2004-drawings.pdf

715-che-2004-form 1.pdf

715-che-2004-form 26.pdf

715-che-2004-form 5.pdf

715-che-2004-other documents.pdf


Patent Number 209588
Indian Patent Application Number 715/CHE/2004
PG Journal Number 50/2007
Publication Date 14-Dec-2007
Grant Date 05-Sep-2007
Date of Filing 21-Jul-2004
Name of Patentee M/S. SAMSUNG INDIA SOFTWARE OPERATIONS PRIVATE LIMITED
Applicant Address BAGMANE LAKEVIEW, BLOCK 'B', NO. 66/1, BAGMANE TECH PARK, C V RAMAN NAGAR, BYRASANDRA, BANGALORE - 560 093,
Inventors:
# Inventor's Name Inventor's Address
1 MATHEW K. J BAGMANE LAKEVIEW, BLOCK 'B', NO. 66/1, BAGMANE TECH PARK, C V RAMAN NAGAR, BYRASANDRA, BANGALORE - 560 093,
PCT International Classification Number G 09 G 5/00
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 NA