Results 1 to 2 of 2

Thread: Side index in V.44 LZJH Data compression

  1. #1
    Member
    Join Date
    Feb 2020
    Location
    Cochin, India
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Side index in V.44 LZJH Data compression

    Hi Team,

    We are developing a library for V.44 LZJH Data compression in Packet method. We got the concept of side index and down index. Let a code word have valid side index and down index and a new "next character " detected (different from side index.), Then What will happens to "side index"

    Whether the side-index field replaced by new side index ?

    Or a New Side index will added to the node (Node will have 2 side indexes) ?

    Any changes to down index ?

    Let "ABCACAD" is the string to compress then "Side index" of code-word correspond to "A" point to "C" or "D" or Both ?

    Thanks in advance,
    KamalDev K R

  2. #2
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,840
    Thanks
    288
    Thanked 1,243 Times in 696 Posts
    Unfortunately this algorithm is patented, and patent is valid until at least 2024: https://patents.google.com/patent/US7016408B2/

    So its hard to find source, I was only able to find this: https://github.com/resiprocate/resip...t/lzjh.asm#L78

    Based on that, it seems that the dictionary tree is purely implementation-specific - the decoder doesn't use any tree,
    and just adds new strings to the dictionary, constructed as dictionary_string + new_symbol.

    So that tree is only used for matchfinding in the encoder, just as well its possible to implement a dumb comparison of lookahead bytes
    with all strings in the dictionary.

    Still, ITU V44 pdf says this:
    The "down-index", if valid, points to a node that represents a string-segment that follows this string-segment.
    The "side-index", if valid, points to a node that represents a string-segment at the same level as this string-segment
    So, it looks like "side-index" forms a linked list of strings with same prefix, while "down-index" is a suffix pointer.

    > Let a code word have valid side index and down index and a new "next character " detected
    > (different from side index.), Then What will happens to "side index"

    If this new symbol _follows_ this codeword, then its a suffix, and thus has to be added to suffix node's side-index list.

    > Let "ABCACAD" is the string to compress then "Side index" of code-word correspond to "A" point to "C" or "D" or Both

    AFAIU, it would be parsed like this: "A B C A CA D", with codewords "AB","BC","CA","CAD",
    so down-index of "A" points to "AB", and "AB" has an empty side-index.

    But with input "ABCAD" there would be codewords both for "AB" and "AD",
    so "AB" would need a side-index that points to "AD".

Similar Threads

  1. loseless data compression method for all digital data type
    By rarkyan in forum Random Compression
    Replies: 244
    Last Post: 23rd March 2020, 16:33
  2. Data Compression PC
    By encode in forum The Off-Topic Lounge
    Replies: 206
    Last Post: 13th December 2019, 23:10
  3. Replies: 2
    Last Post: 19th April 2016, 00:00
  4. Side channel information leakage
    By m^2 in forum Data Compression
    Replies: 30
    Last Post: 30th May 2014, 22:48
  5. Index-Compress-Update: parallel LZ match finder algo
    By Bulat Ziganshin in forum Data Compression
    Replies: 22
    Last Post: 10th January 2012, 19:36

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •