WO2001027754A2 - Compressed storage and transmission of high-level computer languages - Google Patents
Compressed storage and transmission of high-level computer languages Download PDFInfo
- Publication number
- WO2001027754A2 WO2001027754A2 PCT/US2000/025403 US0025403W WO0127754A2 WO 2001027754 A2 WO2001027754 A2 WO 2001027754A2 US 0025403 W US0025403 W US 0025403W WO 0127754 A2 WO0127754 A2 WO 0127754A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- computer
- tree
- parse
- computer program
- language
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
Definitions
- the present invention relates generally to compressed storage and transmission of high- level computer languages and more particularly to a system and method for representing a computer program written in a high-level language in a highly compressed format that is suitable for execution, storage and transmission.
- the machine code is in a compressed format that generally takes up less storage space than the high-level source code, which is no longer needed for program execution.
- an advantage to using this method is that the more compressed executable code is better suited for storage and/or transmission purposes.
- the executable version of the code takes up less storage space in computer storage devices and consumes less bandwidth when transmitted over computer networks, such as the Internet, than does the source version of the code.
- the disadvantage to using this method is that the programs are not platform independent. That is, these programs typically require a particular operating system and/or a particular microprocessor (or other hardware dependency) to run. Typically, in order to allow the program to run on different platforms, a separate executable program is generated for each platform.
- a further disadvantage is that these platform-dependent programs may no longer run properly when the operating system is revised and/or the machine configuration is altered.
- ECMAScript is a computer language that is designed to run on many platforms.
- a program written in ECMAScript can be executed on any type of computer system that has an appropriate browser installed.
- any computer system, running any operating system, such as Windows, Macintosh, Unix, or Linux can run these ECMAScript programs, as long as an appropriate browser, such as Netscape Navigator or Microsoft Explorer is installed.
- HTML is another example of a high-level content description language that is platform-independent.
- the present invention provides a system and method for compressing source code representations of platform-independent programs for storage, execution and transmission.
- the present invention is applicable to any high-level computer language. That is, the present invention can be used to produce a compressed version of any computer program written in any high-level computer language. The compressed version is then used, rather than the non-compressed version, for any purpose, such as storing, transmitting or executing the program.
- MPEG-4 scripts are compressed before being transmitted to and executed on client computer systems, such as set-top boxes and the like.
- a Backus Naur Form (BNF) representation of the high level script language in this example, ECMAScript
- ECMAScript high level script language
- a parse-tree structure is created based on the BNF grammar representation. The parse-tree shows all possible expansions of an ECMAScript in accordance with the BNF grammar description.
- Each script or computer program written in the high level language can then be represented by a subset of the parse-tree.
- Each branch in the parse-tree is pre-assigned a unique binary string. That is, for example, if a particular node has 4 branches, they are labeled: "00", "01", " 10" and "11” .
- nodes that have only one branch are not labeled with a binary string to save space during storage and/or transmission. That is, when the BNF grammar allows for only one parsing rule to be selected for expansion, that branch has no label because there is no need to encode that particular selected branch. In this example, when the decoder encounters a node with only one selection, that branch is automatically selected.
- each specific program parse-tree corresponds to a sequence of binary strings that selects specific branches from the complete parse-tree, in one embodiment, a depth first transversal is used. Storing a representation of the ECMAscript in this fashion, not only saves storage space, transmission bandwidth and transmission time, but also facilitates execution of the program by executing a pre-parsed version of the program.
- FIG. 1 is a diagram depicting an example operational environment according to one embodiment of the present invention.
- FIG. 2 is a diagram depicting the details of the MPEG-4 Renderer according to one embodiment of the present invention.
- FIG. 3 is a diagram depicting a program structure that is useful for describing the encoding and decoding aspects according to one embodiment of the present invention.
- FIG. 4 is a diagram depicting a section of BNF code of a high-level computer language according to one embodiment of the present invention.
- FIG. 5 is a diagram showing a parse-tree in accordance with one embodiment of the present invention.
- FIG. 6 is a diagram showing a parse-tree in accordance with one embodiment of the present invention.
- FIG. 7. is a flowchart depicting a recursive encoding process in accordance with one embodiment of the present invention.
- FIG. 8 is a general computer that can be used to implement portions of the present invention.
- the present invention is applicable to any high-level computer language. That is, the present invention can be used to produce a compressed version of any computer program written in any high-level computer language. The compressed version is then used, rather than the non-compressed version, for any purpose, such as storing, transmitting or executing the program.
- a particular embodiment of the present invention is described in the examples below.
- FIG. 1 is a diagram depicting an example operational environment according to one embodiment of the present invention.
- a broadcast server 4 is coupled to a client 2 via a communication link 8.
- the communication link can be any type of communication link such as a direct wired connection, a wireless radio or other wireless connection, a computer network, such as a LAN, WAN or combination thereof, a private network, and/or a public network such as the Internet or the like.
- the broadcast server 4 transmits data, including audio, video, three- dimensional scene data, and program scripts to the client 2.
- the program scripts are computer programs written in a high-level computer language. In this example, the high-level computer language is called ECMAscript.
- the client in this example, is a set-top box or any type of computer system, such as a general-purpose computer system or the like.
- MPEG-4 data sent by the broadcast server 4 is a data stream of multi-media content, comprising audio, video, three- dimensional scene and script data.
- the script data provides programmed information and is used to provide users with interactive capabilities, such as movie selection, language selection, or any other user interaction.
- MPEG-4 renderer comprises 4 components, namely the 3D component 20, the video component 22, the audio component 24 and the script component 26.
- the 3D component 20 decodes data streams and renders three-dimensional scenes on a display device (not shown), such as a television set or a computer display device.
- the video component 22 is used to decode a stream of video information and render it on the display device.
- the audio component is used to decode audio data and render it on an audio device (not shown).
- the script component 26, in this example, is used to execute program scripts on the client 2.
- these scripts are written in ECMAScripts and are part of the MPEG-4 standard.
- the ECMAScripts are represented in a compressed format to reduce transmission bandwidth, storage and transmission-time requirements.
- the compressed format of the ECMAScripts facilitates script execution by the script component 26.
- the decoder module 28 is used to decode the compressed ECMAScript in accordance with the principles described below.
- FIG. 3 is a block diagram depicting a typical generic computer program written in a high-level language.
- the program 30 can be represented in a hierarchical fashion.
- the program component 30 represents the root of the hierarchical tree.
- the next level of nodes in the hierarchy of a typical program are functions 32-38. Functions can be further broken down into one or more statements 48-54. In this example, 4 types of statements are shown, an IF statement 48, a WHILE statement 50, a FOR statement 52, and an ASSIGNMENT statement 54.
- the last level of the tree shows the actual syntax of each type of statement.
- the IF statement 48 comprises the word "if” followed by an open parenthesis "(", followed by some type of condition (defined elsewhere), followed by a closed parenthesis ”)” , followed by an open curly bracket “ ⁇ ” , followed by a compound statement
- LEFTVAL EXPRESSION
- EXPRESSION are defined elsewhere (not shown) .
- a script is the equivalent of a program 30 and represents the root node of the hierarchical tree.
- a script comprises "funcs" or an empty (null) string.
- the vertical line represents a choice (i.e. an OR function) in BNF.
- funcs can either comprise a single “func” or a "func" and
- funcs Note the recursive nature of this description. This very compressed format tells one skilled in the art that a script may comprise an empty string 80 or one or more functions (i.e. func), where the number of functions in which the script can comprise is unlimited, due to the recursive nature of the BNF description.
- func is defined in line 84.
- a “func” is defined as the word “FUNCTION” followed by something called “bgnFunc” (defined below) , followed by an open parenthesis “(” followed by something called “args” (defined below), followed by closed parenthesis ”)” , followed by something called stmntblk (defined below).
- stmntblk defined below.
- the "bgnFunc” token is defined as "IDENTIFIER".
- the IDENTIFIER is a constant user defined string.
- the token "args” is defined.
- “args” may comprise either “args” followed by a COMMA, followed by an IDENTIFIER, or just an IDENTIFIER or, an empty string.
- a "stmntblock” is defined as an open curly bracket, followed by “stmnts” followed by a closed curly bracket.
- a “stmntblock” can comprise an empty string or a single “stmnt” .
- stmnts is defined as “stmnts” followed by “stmnt” or a single “stmnt” or “stmnts error” .
- stmnt is defined as an
- FIG. 5 is an example of a simple script that is useful for describing the encoding and decoding technique in accordance with one embodiment of the present invention.
- Block 100 depicts a simplified script comprising two functions. This script can be encoded by referring to the above BNF description of the language and coding an ordinal that represents the path taken at each node.
- FIG. 5 shows a graphical representation of this method.
- the root node is the script node 110.
- a script 110 comprises either "funcs" or an empty string.
- a one bit ordinal can be used to describe this path.
- "0" can be used to represent the case where the script 110 comprises "funcs”
- " 1 " can be used to represent the case where the script 110 comprises a null string.
- the paths not taken is represented by the dotted lines in the script tree 110.
- the path shown the script node 110 to the funcs node 112 is completely described by the single bit value "0" .
- the compressed format of the script in accordance with an embodiment of the present invention comprises a sequence of bits.
- the sequence of bits are decoded by the decoder 28 and used to reconstruct the original program.
- This method of encoding consumes considerably less computer memory than conventional representations of computer source code programs.
- a recursive method that performs the following steps can be used to reconstruct the entire program. This recursive method is shown in FIG. 7.
- Fig. 6 is an example that of a parse-tree Structure in accordance with an embodiment of the present invention.
- This is a parse-tree which shows all possible expansions in accordance with the BNF grammar description of the ECMAScript language.
- the program, shown in block 140 is a subset the tree of all possible expansions. In addition, this figure shows the actual encoding that can be used to describe the program 140.
- each branch of this tree is labeled with a unique binary string.
- the path taken to reconstruct the first function in the script 140 is shown in bold fonts.
- a specific parse-tree of a program corresponds to a sequence of binary strings that selects specific branches from the tree of all possible parses, following a depth first transversal of the parse-tree.
- ellipsis are used to denote portions of the tree that are not continued.
- the tree contains the specific instantiations of IDENTIFIER for the script 140.
- the root node is the script node 142.
- a one bit value is used to describe the selected path. That is a "0" is used because the script 140 contains func. A " 1" would have been used to encode the script 140, if it merely contained an empty string.
- the first bit in the compressed program representation is a "0" because the script is non-empty.
- block 144 expands to block 146 ( uncs func). Therefore, as shown a "0” is used as the next bit in the bit stream used to represent the script 140.
- a " 1 " is used to expand the funcs 146 into func 160.
- the smallest number of bits that can be used to describe the path are encoded. For example, because node 140 only has two choices, one bit is used to describe the selected choice. Similarly, as shown, the arg node 152 has three possible choices, therefore, two bits are used to describe the selected choice. This logic is built into both the encoder and decoder and is based on the number of choices as defined by the BNF description of the language.
- bitstream is encoded with "01" to indicate the path from block 172 (args) to identifier 176.
- the letter "x" is encoded into the bit stream indicate the value for the identifier 176.
- the "y" is encoded into the bitstream to indicate the value of the 172 identifier. This completes the representation for the declaration of the first function in the script 140.
- the representation for the script body is not shown.
- the bitsteam as shown comprises the following information "0 0 1 a 00 01 x y ", where the letters a x and y are encoded in any fashion desired in accordance with each specific embodiment of the present invention.
- a recursive algorithm is used that performs a depth-first transversal of the parse-tree in which, for example, the left most node is selected first and fully expanded before the other nodes are processed in the recursive algorithm.
- storing a representation of the ECMAscript in this fashion not only saves storage space, transmission bandwidth and transmission time, but also facilitates execution of the program. For example, many computer languages, whether interpreted or compiled are typically parsed. Thus, having the program pre-parsed, in the above fashion, results in a more efficient execution of the program because the parsing step does not have to be repeated
- FIG. 7 is a flowchart depicting a recursive encoding process in accordance with one embodiment of the present invention.
- step 130 a BNF or equivalent description of the high- level language is created.
- step 132 the next node is parsed.
- each possible path is assigned a particular number. The number of bits used to describe each path is selected such that the minimal number of bits are used to conserve storage space.
- step 136 the selected path number is encoded into the bit stream and stored on a storage device. This can also involve encoding a character or other information into the bit stream.
- step 138 the process recursively calls itself until all nodes have been processed. The end result is a bit stream that is a compressed representation of the script or high-level program.
- numeric values can be stored as floats, using any acceptable method of encoding floating point numbers.
- String constants may be stored as null terminated character sequences. Identifiers can be optionally sent as string constants (during their first reference, with subsequent occurrences using numerical back reference). Alternatively, string constants may be stored as numerical references, in which case the identifier names are lost in the encoding.
- the following is an example of a algorithm that can be used to decode a script in accordance with a prefen-ed embodiment of the present invention.
- the pseudo code below uses a language similar to the SDL (scene description language), as used in the MPEG-4 standard. The code is self explanatory and would be apparent to persons skilled in the relevant art(s) .
- bit (1 ) hasFunction while (hasFunction) ⁇ Function function; bit (1 ) hasFunction
- bit (1 ) hasArgument while (hasArgument) ⁇ Identifier identifier; bit (1 ) hasArgument
- bit (1 ) isCompoundStatement if (isCompoundStatement) ⁇ bit (1 ) hasStatement while (hasStatement) ⁇ Statement statement; bit (1 ) hasStatement
- statementType switch statementType ⁇ case ifStatementType:
- the present invention may be implemented using hardware, software or a combination thereof and may be implemented in a computer system or other processing system. In fact, in one embodiment, the invention is directed toward a computer system capable of carrying out the functionality described herein.
- An example computer system 201 is shown in FIG. 8
- the computer system 201 includes one or more processors, such as processor 204.
- the processor 204 is connected to a communication bus 202.
- Various software embodiments are described in terms of this example computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/ or computer architectures.
- Computer system 202 also includes a main memory 206, preferably random access memory (RAM), and can also include a secondary memory 208.
- main memory 206 preferably random access memory (RAM)
- the secondary memory 208 can include, for example, a hard disk drive 210 and/or a removable storage drive 212, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
- the removable storage drive 212 reads from and/or writes to a removable storage unit 214 in a well known manner.
- Removable storage unit 214 represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 212.
- the removable storage unit 214 includes a computer usable storage medium having stored therein computer software and/or data.
- secondary memory 208 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 201.
- Such means can include, for example, a removable storage unit 222 and an interface 220.
- Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 222 and interfaces 220 which allow software and data to be transferred from the removable storage unit 222 to computer system 201.
- a program cartridge and cartridge interface such as that found in video game devices
- a removable memory chip such as an EPROM, or PROM
- PROM PROM
- other removable storage units 222 and interfaces 220 which allow software and data to be transferred from the removable storage unit 222 to computer system 201.
- Computer system 201 can also include a communications interface 224.
- Communications interface 224 allows software and data to be transferred between computer system 201 and external devices. Examples of communications interface 224 can include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc.
- Software and data transferred via communications interface 224 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 224. These signals 226 are provided to communications interface via a channel 228. This channel 828 carries signals 226 and can be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
- computer program medium and “computer usable medium” are used to generally refer to media such as removable storage device 212, a hard disk installed in hard disk drive 210, and signals 226. These computer program products are means for providing software to computer system 201.
- Computer programs are stored in main memory and/or secondary memory 208. Computer programs can also be received via communications interface 224. Such computer programs, when executed, enable the computer system 201 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 204 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 201.
- the software may be stored in a computer program product and loaded into computer system 201 using removable storage drive 212, hard drive 210 or communications interface 224.
- the control logic may be stored in a computer program product and loaded into computer system 201 using removable storage drive 212, hard drive 210 or communications interface 224.
- the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs).
- ASICs application specific integrated circuits
- the invention is implemented using a combination of both hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU78294/00A AU7829400A (en) | 1999-10-13 | 2000-09-14 | Compressed storage and transmission of high-level computer languages |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15914499P | 1999-10-13 | 1999-10-13 | |
US60/159,144 | 1999-10-13 | ||
US45134599A | 1999-11-30 | 1999-11-30 | |
US09/451,345 | 1999-11-30 |
Publications (3)
Publication Number | Publication Date |
---|---|
WO2001027754A2 true WO2001027754A2 (en) | 2001-04-19 |
WO2001027754A3 WO2001027754A3 (en) | 2002-04-18 |
WO2001027754A9 WO2001027754A9 (en) | 2002-11-21 |
Family
ID=26855688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/025403 WO2001027754A2 (en) | 1999-10-13 | 2000-09-14 | Compressed storage and transmission of high-level computer languages |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU7829400A (en) |
WO (1) | WO2001027754A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6937652B2 (en) | 2002-04-19 | 2005-08-30 | Seiko Epson Corporation | Frame compression using radix approximation |
DE102005056122A1 (en) * | 2005-11-23 | 2007-05-31 | Universität Zu Lübeck | Method for compression, decompression and processing of data records |
US9137567B2 (en) | 2011-08-16 | 2015-09-15 | Destiny Software Productions Inc. | Script-based video rendering |
CN111090417A (en) * | 2019-11-14 | 2020-05-01 | 杭州中恒电气股份有限公司 | Binary file analysis method, device, equipment and medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5343554A (en) * | 1988-05-20 | 1994-08-30 | John R. Koza | Non-linear genetic process for data encoding and for solving problems using automatically defined functions |
EP0718760A2 (en) * | 1994-12-23 | 1996-06-26 | Sun Microsystems, Inc. | Method and apparatus for generating platform-standard object files containing machine-independent code |
US5671416A (en) * | 1995-02-24 | 1997-09-23 | Elson; David | Apparatus and a method for searching and modifying source code of a computer program |
US5870608A (en) * | 1994-06-03 | 1999-02-09 | Synopsys, Inc. | Method and apparatus for displaying text including context sensitive information derived from parse tree |
-
2000
- 2000-09-14 WO PCT/US2000/025403 patent/WO2001027754A2/en active Application Filing
- 2000-09-14 AU AU78294/00A patent/AU7829400A/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5343554A (en) * | 1988-05-20 | 1994-08-30 | John R. Koza | Non-linear genetic process for data encoding and for solving problems using automatically defined functions |
US5870608A (en) * | 1994-06-03 | 1999-02-09 | Synopsys, Inc. | Method and apparatus for displaying text including context sensitive information derived from parse tree |
EP0718760A2 (en) * | 1994-12-23 | 1996-06-26 | Sun Microsystems, Inc. | Method and apparatus for generating platform-standard object files containing machine-independent code |
US5671416A (en) * | 1995-02-24 | 1997-09-23 | Elson; David | Apparatus and a method for searching and modifying source code of a computer program |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6937652B2 (en) | 2002-04-19 | 2005-08-30 | Seiko Epson Corporation | Frame compression using radix approximation |
DE102005056122A1 (en) * | 2005-11-23 | 2007-05-31 | Universität Zu Lübeck | Method for compression, decompression and processing of data records |
US8650217B2 (en) | 2005-11-23 | 2014-02-11 | Universitat Zu Lubeck | Compression method for a data transfer that is independent of computer architecture and/or decompression method for a data record |
US9380338B2 (en) | 2011-08-16 | 2016-06-28 | Destiny Software Productions Inc. | Script-based video rendering |
US9143826B2 (en) | 2011-08-16 | 2015-09-22 | Steven Erik VESTERGAARD | Script-based video rendering using alpha-blended images |
US9215499B2 (en) | 2011-08-16 | 2015-12-15 | Destiny Software Productions Inc. | Script based video rendering |
US9137567B2 (en) | 2011-08-16 | 2015-09-15 | Destiny Software Productions Inc. | Script-based video rendering |
US9432726B2 (en) | 2011-08-16 | 2016-08-30 | Destiny Software Productions Inc. | Script-based video rendering |
US9432727B2 (en) | 2011-08-16 | 2016-08-30 | Destiny Software Productions Inc. | Script-based video rendering |
US9571886B2 (en) | 2011-08-16 | 2017-02-14 | Destiny Software Productions Inc. | Script-based video rendering |
US10645405B2 (en) | 2011-08-16 | 2020-05-05 | Destiny Software Productions Inc. | Script-based video rendering |
CN111090417A (en) * | 2019-11-14 | 2020-05-01 | 杭州中恒电气股份有限公司 | Binary file analysis method, device, equipment and medium |
CN111090417B (en) * | 2019-11-14 | 2023-11-28 | 杭州中恒电气股份有限公司 | Binary file analysis method, binary file analysis device, binary file analysis equipment and binary file analysis medium |
Also Published As
Publication number | Publication date |
---|---|
WO2001027754A3 (en) | 2002-04-18 |
AU7829400A (en) | 2001-04-23 |
WO2001027754A9 (en) | 2002-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100614677B1 (en) | How to Compress / Restore Structured Documents | |
US7065752B2 (en) | Method and apparatus compilation of an interpretative language for interactive television | |
US7870483B2 (en) | Encoding and distribution of schema for multimedia content descriptions | |
JP2008289187A (en) | System and method for generating and interfacing bit streams representing MPEG encoded audio-visual objects | |
JPH05211616A (en) | Multi-mode-data-stream-generator | |
US6434625B1 (en) | Generalizing data streams to overcome differences in word length and byte order | |
AU2002236916A1 (en) | A method and apparatus for the compilation of an interpretative language for interactive television | |
KR100855192B1 (en) | How to Provide Extension Codes for Binary Technology for Multimedia Data | |
Werner et al. | WSDL-driven SOAP compression | |
JPH05224949A (en) | Method and apparatus for converting abstract syntax in high-level configuration into intermediate configuration | |
Werner et al. | Compressing soap messages by using pushdown automata | |
WO2001027754A2 (en) | Compressed storage and transmission of high-level computer languages | |
Kaiser et al. | Profer: Predictive, robust finite-state parsing for spoken language | |
US7243341B2 (en) | Scripting language for processing typed structured data | |
US8898559B2 (en) | Method for encoding an XML-based document | |
CN113592701A (en) | Method and system for developing and registering gradient compression algorithm into deep learning framework | |
CN113542764A (en) | Method, apparatus, electronic device, and computer-readable medium for quick start of video | |
KR20060123197A (en) | How to compress and decompress structured documents | |
Orpaz et al. | A study of CodePack: optimizing embedded code space | |
Fang et al. | Automatic generation of entropy coding programs using flavor | |
CN116954571B (en) | Development processing method and device for applet plug-in and computer readable storage medium | |
Gorin et al. | A portable video tool library for MPEG reconfigurable video coding using LLVM representation | |
Werner et al. | Advanced data compression techniques for SOAP web services | |
KR20050023411A (en) | Method and devices for encoding/decoding structured documents, especially xml documents | |
KR102058333B1 (en) | Method and apparatus for parsing bitstream, generic parsing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
AK | Designated states |
Kind code of ref document: C2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: C2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase in: |
Ref country code: JP |