{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "A00DAT34F9"
    }
  ],
  "body": "\n## Summary\n\nThe lifting scheme is a way to build and compute wavelet transforms by a sequence of simple, invertible steps.\nA signal is split into its even and odd samples.\nThe odd samples are predicted from the even ones, and the even ones are updated from the prediction errors.\nEvery step can be undone by reversing its sign, so perfect reconstruction is automatic.\nThe scheme can cut the cost of many [[fast wavelet transforms|PDVYQAW887]] by up to about one half.\nIt works in place, gives integer-to-integer transforms, and extends to irregular grids.\n\n## Explanations\n\n### L1 human\n\nImagine a signal as two interleaved lists: the even-numbered and the odd-numbered samples.\nIf the signal is smooth, each odd sample is close to its even neighbours, so it can be guessed from them.\nStore only the error of the guess; for smooth signals these errors are small.\nThen adjust the even samples slightly so that they keep the average of the signal.\nFor example, with $x = (2, 4, 6, 8)$ and the guess \"odd equals the even sample before it\", the errors are $(2, 2)$ and the updated evens are $(3, 7)$, the pairwise averages.\nRunning the steps backwards gives back the original signal exactly.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65T60",
      "42C40",
      "94A12"
    ],
    "name": "Lifting scheme",
    "same_as": {
      "wikidata": "Q3238415",
      "wikipedia": "Lifting scheme"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Lifting_scheme"
      }
    ],
    "tag": "AF9NY73QHJ"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/AF9NY73QHJ/",
  "links": null,
  "markdown": "https://tamnd.github.io/math2/node/AF9NY73QHJ.md",
  "msc": [
    "65T60",
    "42C40",
    "94A12"
  ],
  "name": "Lifting scheme",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/AF9/AF9NY73QHJ.md",
  "status": null,
  "tag": "AF9NY73QHJ",
  "uri": "m2://AF9NY73QHJ",
  "url": "https://tamnd.github.io/math2/wiki/lifting-scheme/",
  "writing": {
    "tag": "AF9NY73QHJ",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
