Code Comments

Programming Forum and web based access to our favorite programming groups.
For Programmers: Free Programming Magazines | New: Database administration forum
Registration is free! Edit your profileCalendarFind other membersFrequently Asked QuestionsSearch -> 
Post New Thread











Thread
Author

Q: Arithmetic Coding and Range Coding - The Same?
Hello!

I'd like to check something.

From my understanding of arithmetic coding and range coding, they're
both the same.  It's just that arithmetic coding happens to be one
interpretation of the actual algorithms (and implementations thereof),
while range coding is another interpretation of what are actually
exactly the same algorithms (and implementations).

In arithmetic coding, an arithmetic code is a sequence of symbols
interpreted (by an external observer sing to understand the
algorithm) as representing a rational number in the range [0,1).  In
range coding, a range code is a sequence of symbols interpreted as
representing a natural number from a range of natural numbers, that
range being [0,b^N), where N is the number of symbols in the range code
itself, and b is the number base used in interpreting the range code
accordingly.

The thing is, such a range code can equivalently be interpreted as a
corresponding arithmetic code, and vice-versa.  After all, if the range
code is taken as representing a natural number, x, the corresponding
arithmetic code - which is exactly the same sequence of symbols - is
taken as representing the rational number x/(b^N).  Similarly the other
way round.  Consequently, a range encoder/decoder is itself the
corresponding arithmetic encoder/decoder, and - of course - vice-versa.

Stuff about arithmetic coding being bit/binary-based, and range coding
being byte-based, and that sort of thing, seem to be irrelevant
implementation details.  We can just as easily have byte-based
arithmetic coders, and bit/binary-based range coders - a byte-based
range coder is itself a byte-based arithmetic coder (and vice-versa, of
course)!  Whether it's byte-based, or bit/binary-based, really doesn't
depend on whether we interpret the code as being an arithmetic code
(representing a rational in the range [0,1)) or as a range code
(representing a natural number).

But I'd like to check that I really have understood this correctly.  So:
have I understood this correctly?

:-)

Simon G Best

Report this thread to moderator Post Follow-up to this message
Old Post
Simon G Best
07-16-06 11:55 PM


Sponsored Links




Last Thread Next Thread Next
Search this forum -> 
Post New Thread

Compression archive

Show a Printable Version Send to friend Email This Page to Someone! subscribe to this thread Receive updates to this thread
Computer Consultants
Programming Jobs
Visual Basic Controls
SQL Server Programming
Webservices
Java Security
Visual Studio
C# Programming
Visual J++
Software engineering
Open source Software
Perl Programming
PHP Programming
ASP Programming
ASP .NET Programming
Visual Basic Programming
Windows Scripting Host
Java Programming
Java Help
Java Beans
VBScript
Cobol
MAC Applications
Unix Programming
Forum Jump:
All times are GMT. The time now is 03:26 PM.

 
Free MCSE Braindumps | Real Estate Topics

Programming forum archive

Copyrights CodeComments.com 2004 - 2006

Powered by vBulletin Copyright 2000-2006 Jelsoft Enterprises Limited.