Content deleted Content added
question the example illustration |
BarrelProof (talk | contribs) Chronological order |
||
(11 intermediate revisions by 8 users not shown) | |||
Line 1:
{{talkheader}}
{{WikiProject banner shell|class=C|1=
== I removed my article 'Patentophobia' ==▼
{{WikiProject Computer science |importance=Low}}
}}
It does not contain scientific information. <small><span class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:74.244.80.58|74.244.80.58]] ([[User talk:74.244.80.58|talk]] • [[Special:Contributions/74.244.80.58|contribs]]) 31 March 2007</span></small><!-- Template:Unsigned -->▼
==The difference between arithmetic and range encoding does not exist==▼
It is simpler than anyone may think. Arithmetic encoding reduce interval [0,1) to a shorter one and allow to pick any value from this interval. Because the value is optional and it is fraction the shortest one is picked up. The range encoder reduce interval [0,n^n) to shorter one and allow to pick any number. Since the number is optional, but it is integer the one that has longest tail of zero bits is taken. (Here n^n is size of the message raised to the power of the size of message). The details can be found in article “Anatomy of Range Encoder”. Google the name and find it. The authors of arithmetic encoders like to claim that they compute the fraction, but when you look at the code you can see that it is not a fraction, it is integer or numerator of this fraction, so while saying that they write arithmetic encoder they actually write range encoder. So, the difference does not exist. Arithmetic encoder got its name because only arithmetic operations involved into encoding and decoding (multiplication, addition, division, subtraction), so range encoder qualifies. The founder of range encoder G.N.N.Martin named known to that moment arithmetic encoder as range encoder emphasizing the idea of algorithm. The story how range encoder acquired its name is very simple it is same as American Natives are called Indians - a little mess.▼
== Next topic ==
I've rewritten what was here to be grammatically correct English. Later I hope to go back and edit, to put in detail on actual range encoding, and remove the claim added by Suns which seems (as far as I can tell) to be based solely on one particular implementation of range encoding, not on range encoding itself. (Why is arithmetic coding on the page [[arithmetic encoding]], Huffman coding on the page [[Huffman encoding]], but range encoding on the page [[Range encoder]]?) <!-- Template:Unsigned IP --><small class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/4.156.24.68|4.156.24.68]] ([[User talk:4.156.24.68#top|talk]]) 04:39, 21 April 2004 (UTC)</small>
==Range encoding and arithmetic encoding==
Line 20 ⟶ 16:
:That's the tricky thing. They ''are'' very nearly the same thing. However, the differences that there are, and the fact that range encoding has a practice that much more closely approximates its theory than arithmetic coding does, may make an important difference legally, in determining what patents do and don't cover. Range encoding, in both theory and practice, involves ranges of integers. Arithmetic coding in theory works with rational numbers between 0 and 1, but since practical considerations cause the precision to be limited to typically 32 bits, it's as if they were using 32-bit ranges of integers. There may be differences that I don't know about -- I don't pretend to be an expert -- but as far as I know, the differences that there are are mostly legal in nature. -- [[User:Antaeus Feldspar|Antaeus Feldspar]] 19:01, 23 Jan 2005 (UTC)
:Yeah exactly! When implemented in computers, range and arithmetic encoders produce the same sequence of bits as far as I can see. <!-- Template:Unsigned --><small class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:131.111.243.37|131.111.243.37]] ([[User talk:131.111.243.37#top|talk]] • [[Special:Contributions/131.111.243.37|contribs]]) 14:33, 4 June 2006 (UTC)</small>
:As far as I can tell (having looked at both arithmetic coding and range coding from time to time), they're the same thing, just interpreted in two, different but related ways. If you've got an arithmetic coder (encoder/decoder), you've got the corresponding range coder - it's the same thing. And vice-versa, too.
Line 90 ⟶ 85:
:::::::"If you can find someone who claims that range coding, as practiced by in large, violates a patent — contradicting [[User:Antaeus Feldspar|Antaeus Feldspar]]'s earlier comment — that would prove me wrong about this." I'm a bit distressed, because I think this comment could easily be misread to claim that ''I'' made a comment somewhere claiming that range coding violates patents, which I have not. -- [[User:Antaeus Feldspar|Antaeus Feldspar]] 13:50, 13 April 2007 (UTC)
▲==The difference between arithmetic and range encoding does not exist==
▲It is simpler than anyone may think. Arithmetic encoding reduce interval [0,1) to a shorter one and allow to pick any value from this interval. Because the value is optional and it is fraction the shortest one is picked up. The range encoder reduce interval [0,n^n) to shorter one and allow to pick any number. Since the number is optional, but it is integer the one that has longest tail of zero bits is taken. (Here n^n is size of the message raised to the power of the size of message). The details can be found in article “Anatomy of Range Encoder”. Google the name and find it. The authors of arithmetic encoders like to claim that they compute the fraction, but when you look at the code you can see that it is not a fraction, it is integer or numerator of this fraction, so while saying that they write arithmetic encoder they actually write range encoder. So, the difference does not exist. Arithmetic encoder got its name because only arithmetic operations involved into encoding and decoding (multiplication, addition, division, subtraction), so range encoder qualifies. The founder of range encoder G.N.N.Martin named known to that moment arithmetic encoder as range encoder emphasizing the idea of algorithm. The story how range encoder acquired its name is very simple it is same as American Natives are called Indians - a little mess. <!-- Template:Unsigned IP --><small class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/72.16.213.30|72.16.213.30]] ([[User talk:72.16.213.30#top|talk]]) 22:13, 26 February 2007 (UTC)</small>
▲== I removed my article 'Patentophobia' ==
▲It does not contain scientific information. <small><span class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:74.244.80.58|74.244.80.58]] ([[User talk:74.244.80.58|talk]] • [[Special:Contributions/74.244.80.58|contribs]]) 31 March 2007</span></small><!-- Template:Unsigned -->
== Pseudocode/Sample code ==
Line 101 ⟶ 104:
: I added some source code which I think is pretty simple. It's a little weird using base 10 but I did that to align with the numerical example worked through in the article, and the source code produce the same results as the example.--[[Special:Contributions/98.247.148.214|98.247.148.214]] ([[User talk:98.247.148.214|talk]]) 06:58, 21 April 2009 (UTC)
:: You should just write out the decoder section in one chunk. The paragraph explaining the differences between the encoders and decoders is confusing <span style="font-size: smaller;" class="autosigned">— Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/24.63.194.183|24.63.194.183]] ([[User talk:24.63.194.183|talk]]) 15:51, 18 August 2012 (UTC)</span><!-- Template:Unsigned IP --> <!--Autosigned by SineBot-->
|