Como posso decodificar LZW em Java?

Eu tenho um banco de dados que contém dados de imagem armazenados como um blob binário. A documentação diz que os dados são codificados usando LZW. Eu pensei que poderia decodificá-lo usando os fluxos de entrada Zip ou GZip encontrados na biblioteca Java, mas não funcionou - recebi uma exceção que dizia que o formato dos dados não está correto.

Pelo que li, a biblioteca usa DEFLATE, que não é LZW. Além disso, eu li sobre alguns problemas de licenciamento para usar o algoritmo LZW.

O que posso usar para decodificar os dados? Existe uma biblioteca? Eu tenho que implementá-lo eu mesmo? E os problemas de licenciamento?

questionAnswers(4)

yourAnswerToTheQuestion