@extends('layouts.app') @php $tr = fn ($de, $en) => request()->segment(1) === 'en' ? $en : $de; @endphp @section('title', $tr('KARC Technik — Module, Tech-Stack & Bitstream | KOTSCH.TECH', 'KARC Technology — Modules, Tech Stack & Bitstream | KOTSCH.TECH')) @section('meta_description', $tr('Technischer Überblick über KARC: zehn von Grund auf gebaute Module, der reine Python-Tech-Stack (NumPy/OpenCV/Pillow, CPU-only) und das .karc-Bitstream-Format.', 'Technical overview of KARC: ten from-scratch modules, the pure-Python tech stack (NumPy/OpenCV/Pillow, CPU-only) and the .karc bitstream format.')) @section('content') @include('karc.partials.styles')
{{ $tr('Technik & Architektur', 'Engineering & architecture') }}

{{ $tr('Zehn Module,', 'Ten modules,') }} {{ $tr('von Grund auf gebaut', 'built from scratch') }}

{{ $tr('KARC (Kotsch Adaptive Region Codec) ist zu 100 % in Python implementiert — NumPy, OpenCV und Pillow, CPU-only, ohne GPU. Jedes der zehn Module ist eigenständig und durch Unit-Tests abgedeckt.', 'KARC (Kotsch Adaptive Region Codec) is implemented 100 % in Python — NumPy, OpenCV and Pillow, CPU-only, no GPU. Each of the ten modules is self-contained and covered by unit tests.') }}

{{ $tr('Aufbau', 'Architecture') }}

{{ $tr('Die zehn Module', 'The ten modules') }}

{{ $tr('Die Pipeline ist in zehn klar abgegrenzte Bereiche unterteilt. Jeder Bereich hat eine eng definierte Aufgabe und eigene Tests — Farbtransform bit-exakt, DCT identisch zu OpenCV, rANS bit-exakt, Codec-Roundtrip verlustkontrolliert.', 'The pipeline is split into ten clearly bounded areas. Each has a tightly defined job and its own tests — color transform bit-exact, DCT identical to OpenCV, rANS bit-exact, codec roundtrip loss-controlled.') }}

{{ $tr('Farbtransform', 'Color transform') }}

{{ $tr('YCoCg-R: verlustfrei umkehrbare Farbtransform plus 4:2:0-Chroma-Subsampling. Gegen OpenCV bit-exakt getestet.', 'YCoCg-R: a losslessly reversible color transform plus 4:2:0 chroma subsampling. Tested bit-exact against OpenCV.') }}

{{ $tr('Segmentierung & Klassifikation', 'Segmentation & classification') }}

{{ $tr('Zerlegt das Bild in 8×8-Blöcke und klassifiziert jeden Block nach Inhalt — die Grundlage der Region-as-representation-Idee.', 'Splits the image into 8×8 blocks and classifies each block by content — the basis of the region-as-representation idea.') }}

{{ $tr('Transform (DCT / PLANE)', 'Transform (DCT / PLANE)') }}

{{ $tr('Pro Block entweder eine affine PLANE (3 Parameter, glatte Flächen) oder eine DCT (Detail) — per Rate-Distortion ausgewählt.', 'Per block either an affine PLANE (3 parameters, smooth areas) or a DCT (detail) — selected via rate-distortion.') }}

{{ $tr('Quantisierung', 'Quantization') }}

{{ $tr('Frequenzgewichtete Quantisierung mit JPEG-artigen Tabellen — feinere Stufen für sichtbare, gröbere für unauffällige Frequenzen.', 'Frequency-weighted quantization with JPEG-style tables — finer steps for visible, coarser for inconspicuous frequencies.') }}

{{ $tr('Gelernte Modelle', 'Learned models') }}

{{ $tr('Vorberechnete Tabellen für Quantisierung und Entropie, an die Region-Klassen gekoppelt — keine Laufzeit-Trainingsschritte nötig.', 'Pre-computed tables for quantization and entropy, coupled to the region classes — no runtime training steps required.') }}

{{ $tr('Kontext & Entropie', 'Context & entropy') }}

{{ $tr('rANS-Entropiecodierung mit klassen-konditionierten Tabellen. Die Region-Klasse ist der Kontext — null zusätzliche Signalbits.', 'rANS entropy coding with class-conditioned tables. The region class is the context — zero extra signalling bits.') }}

{{ $tr('Ratensteuerung', 'Rate control') }}

{{ $tr('Steuert die Ziel-Bitrate bzw. Qualitätsstufe und balanciert pro Block den Kompromiss zwischen Bits und Fehler aus.', 'Drives the target bitrate or quality level and balances the bits-versus-error trade-off per block.') }}

{{ $tr('Bitstream-Format', 'Bitstream format') }}

{{ $tr('Definiert das .karc-Containerformat: Header mit Magic „KARC“, Bildparameter und kontext-getrennte rANS-SubstRöme.', 'Defines the .karc container format: a header with magic “KARC”, image parameters and context-separated rANS substreams.') }}

{{ $tr('Integration', 'Integration') }}

{{ $tr('Verbindet alle Stufen zu Encoder und Decoder und stellt den verlustkontrollierten Roundtrip Bild → .karc → Bild sicher.', 'Wires all stages into encoder and decoder and guarantees the loss-controlled roundtrip image → .karc → image.') }}

{{ $tr('Evaluierung & Tests', 'Evaluation & tests') }}

{{ $tr('Benchmark-Harness (BD-Rate, PSNR, SSIM) auf 20 Kodak-Bildern plus Unit-Tests für jedes Modul — alle Zahlen reproduzierbar.', 'Benchmark harness (BD-rate, PSNR, SSIM) on 20 Kodak images plus unit tests for every module — all numbers reproducible.') }}

{{ $tr('Grundlage', 'Foundation') }}

{{ $tr('Tech-Stack', 'Tech stack') }}

{{ $tr('Bewusst schlank und reproduzierbar: reines Python, etablierte Numerik-Bibliotheken und keinerlei GPU-Abhängigkeit. KARC läuft auf jeder CPU.', 'Deliberately lean and reproducible: pure Python, established numerics libraries and no GPU dependency whatsoever. KARC runs on any CPU.') }}

Python 3 NumPy OpenCV Pillow {{ $tr('CPU-only', 'CPU-only') }} {{ $tr('keine GPU', 'no GPU') }}

{{ $tr('Von Arthur Kotsch mit Claude (2026). Entstanden aus 30 Forschungsquellen, einem Multi-Agenten-Design (111 Agenten) und einer from-scratch-Implementierung in zehn Modulen.', 'By Arthur Kotsch with Claude (2026). Built from 30 research sources, a multi-agent design (111 agents) and a from-scratch implementation in ten modules.') }}

{{ $tr('Format', 'Format') }}

{{ $tr('Das .karc-Bitstream-Format', 'The .karc bitstream format') }}

{{ $tr('Eine .karc-Datei beginnt mit einem kompakten Header zur Identifikation (Magic „KARC“) und Geometrie/Parametern. Danach folgen die Nutzdaten als mehrere, nach Kontext getrennte rANS-SubstRöme — so kann jeder Strom mit der für seine Region-Klasse passenden Tabelle decodiert werden.', 'A .karc file starts with a compact header for identification (magic “KARC”) and geometry/parameters. The payload then follows as several context-separated rANS substreams — so each stream can be decoded with the table matching its region class.') }}

{{ $tr('// .karc-Container (schematisch)', '// .karc container (schematic)') }}
"KARC" {{ $tr('// Magic-Bytes — Format-Kennung', '// magic bytes — format identifier') }}
version {{ $tr('// Versions-Byte', '// version byte') }}
width, height {{ $tr('// Bildgeometrie', '// image geometry') }}
quant_profile {{ $tr('// Quantisierungs-/Qualitätsprofil', '// quantization / quality profile') }}
{{ $tr('// — kontext-getrennte rANS-Substreams —', '// — context-separated rANS substreams —') }}
stream[PLANE] {{ $tr('// glatte Regionen', '// smooth regions') }}
stream[DCT] {{ $tr('// Detail-Regionen', '// detail regions') }}
stream[DC / AC] {{ $tr('// DC-DPCM + AC-Lauflängen', '// DC-DPCM + AC run-lengths') }}

{{ $tr('Schematische Darstellung. Die Trennung nach Kontext erlaubt klassen-konditionierte rANS-Tabellen ohne zusätzliche Signalbits im Strom.', 'Schematic representation. Separating by context enables class-conditioned rANS tables without extra signalling bits in the stream.') }}

@endsection