Zum Inhalt springen
L

Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).

Lauflängencodierung

Herr Sauer15:44 6.140 Aufrufe veröffentlicht Auf YouTube

Das Wichtigste aus dem Video

Tipp auf eine Zeit – das Video springt genau dorthin.

Transkriptautomatisch erstellt · 90 Zeilen
Herunterladen
  1. hallo und herzlich willkommen zu diesem Video wir wollen uns die lauflängen-codierung mal ansehen was ist denn das ja deswegen guckst du das Video
  2. also los geht's du erinnerst dich bestimmt hier dran wir haben schon mal vor ein paar Jahren Grafiken codiert wenn du dich nicht mehr dran erinnern
  3. kannst dann schau dir das Video noch mal an schau mal oben in der Infobox so weiter geht's also wir vereinfachen das ganze mal ein bisschen und damals hatten
  4. wir über diese ganze Pixel die wir hier sehen können äh Zahlen drüber geschrieben die dann gesagt haben das Pixel ist an also es leuchtet also es
  5. ist weiß oder es ist aus es ist dunkel es ist null ja und wir haben jetzt hier in dem Fall 8 Pixel mal 8 Pixel das sind also 64 Pixel in diesem Dingen ein Pixel
  6. hat einen oder benötigt einen Speicherplatz von einem bit es ist ja entweder 0 oder es ist eine 1 jetzt haben wir hier 64 Pixel bisschen
  7. Mathematik das sind 64 Bit also 8 Byte weil ja ein Byte aus 8 Bit besteht so das jetzt kurz noch mal konsumieren und für dich abspeichern so nun geht es
  8. weiter schwarz-weiß ist ja ein bisschen langweilig deswegen gucken wir uns jetzt das ganze ein bisschen in Farbe an dann kleinen Exkurs dazu und zwar rot grün
  9. blau man kann das Sagen RGB kennst du bestimmt von deinen schicken LED Streifen diese der unters Bett geklebt hast warum sind die cool weil du alle
  10. möglichen Farben damit darstellen kannst ja rot grün blau so sind die LEDs in der Regel gefärbt und damit kann man alle möglichen Farben darstellen ja wie
  11. funktioniert das wir müssen für jedes Pixeln einzeln abspeichern wie viel Rot wie viel Grün wie viel blau wir mischen wollen und dann
  12. mischt das ganze das Dingen wir müssen halt abspeichern für jede für jedes Pixel wie viel Rot wie viel Grün wie viel blau normalerweise oder so ein
  13. Standard Beispiel ist eine Farbtiefe von 256 Bit so das heißt nun mal ich kann auf 256 Stufen intensitätsgraden quasi sagen wie viel
  14. Rot soll da rein wie viel Grün soll da rein wie viel blau klingt jetzt der theoretisch wir gucken uns das Ganze im Beispiel an hier haben wir
  15. 255 also maximal hä ich habe doch gerade gesagt 256 ja aber der 256 das ist ja die 0 also 0 bis 150 so jetzt sind wir wieder auf einer Spur
  16. hier ist rot voll aufgedreht kein Grün kein Blau das sieht so aus so zweites Beispiel hier drehen wir grün voll auf die Farbe sieht dann so aus alle anderen
  17. beiden blau rot und blau sind auf Null und natürlich so sieht's aus wenn wir blau ganz aufdrehen rot grün blau jetzt wie funktioniert das mit dem Mischen
  18. also wir drehen rot voll auf 255 und Grünen gehen wir mal so auf 128 dann kommt ein Orangeton bei drum wenn wir hier grün und blau voll aufdrehen ohne
  19. rot sieht das ganze so aus so türkis oder wir drehen rot und blau runter und auch grün jetzt nicht auf Maximum dann das ist so ein dunkelgrün ne das heißt
  20. je weniger ist ja auch klar dass du weniger knallig ist auch die Farbe dann drehen wir mal rot ganz auf grün so ein
  21. bisschen also auch sehr hoch zu 251 und blau 0 kommt Geld bei raus so wenn wir alles aufdrehen auf maximal dann haben wir weiß wenn wir alles
  22. komplett runter drehen dann haben wir schwarz so jetzt weißt Du das wieder also wir müssen wenn wir was farbig codieren dann müssen wir für jedes Pixel
  23. sagen wie viel Rot wie viel Grün wie viel blau steckt da drin wenn wir das jetzt hier bei unserer Pixel Grafik da links machen dann würde das ungefähr so
  24. aussehen ja für weiß dann blau ist 162 52 0 und diesen Rotton den du da siehst der ist eben so gemischt 238 34 13 rot grün blau
  25. jawohl jetzt was können wir also maximal erzeugen wir haben 256 rot grün und Blautöne das sind dann insgesamt 16,ne nicht Komma seine 16 Millionen 777
  26. 1216 verschiedene Farben ein Pixel da links besteht ja aus drei Bytes jedes ein Byte 8 Bit damit kann ich bis 256 zählen entsprechend brauche
  27. ich also für jedes Pixel 3 mal 8 Bit also 24 Bit also schauen wir dir das erste Pixel da oben links an da steht zwar 255 255 255
  28. diese drei Zahlen muss ich speichern um bis 255 zählen zu können brauche ich 8 Bits entsprechend weil ich drei verschiedene
  29. Farben haben die ich habe die ich mische brauche ich drei Bits 1 für grot Einzel grün ein für blau und es ist egal ob ich jetzt auf Null
  30. oder auf maximal oder irgendwo dazwischen das ganze habe ich brauche immer das ganze Byte immer 8 Bit entsprechend habe ich also pro Pixel
  31. hier 24 Bit vergleichen wir das mal hier haben wir auf der linken Seite unsere schwarz-weiß-grafik 8 mal 8 Pixel sind 64 Pixel genauso wie rechts bei unserer
  32. bunten Grafik dann auf der linken Seite ein Pixel braucht ein Bit weil ich ja immer nur sage ist halt an oder aus auf der rechten Seite wie gerade eben ein
  33. Pixel hat 24 Bit weil ich ja alle drei Farben abspeichern muss muss für alle drei Farben sagen wie hoch oder niedrig die aufgedreht sind auf der linken Seite
  34. habe ich also für diese spezielle Pixelgrafik weil sie 8x8 Bits groß ist 64 Bit also 8 Byte auf der rechten Seite weil ich eben mit Farben hier arbeite
  35. hat das ganze insgesamt 1536 Bit oder 192 Byte das ganze jetzt nachrechnen ich habe ja 64 Pixel und 64 Pixel mal 24 sind dann eben
  36. 1536 bit so jetzt fangen wir wieder mit der einfachen Variante an mit schwarz-weiß ich habe hier ein Kunstwerk geschaffen und wenn wir jetzt
  37. hier wieder drüber legen ne an aus und so weiter und so fort wenn wir uns das jetzt angucken dann fallen uns Wiederholungen auf also wir haben hier
  38. sechs Mal Null dann kommt dreimal die 1 und wieder 6 mal 0 dann kommt wieder dreimal der eins und so weiter und so fort und solche Wiederholungen gibt es
  39. eben häufig in Bildern man könnte also anstatt jetzt für jedes Pixel einzeln abzuspeichern besser abspeichern indem man schreibt wie oft kommt die Null dann
  40. wie oft kommt die 1 wie oft kommt dann die Null wie oft kommt dann die 1 wie oft kommt dann die 0 und so weiter und so fort das sieht dann ungefähr so aus
  41. also 6 mal 0 dann dreimal die 1 sind 6 mal die 0 dann dreimal die 1 sind 6 mal die 0 der 9 mal die 1 und 6 mal die 0 dann dreimal die 1 Firma die Null fünf
  42. Mal E1 wo man die nur und 11 mal die 1 so kannst auch noch mal nachzählen ich hoffe ich habe mich nicht verzählt aber
  43. es müsste passen so jetzt sollte ich weil wir eben mit dem Computer unterwegs sind natürlich auch abspeichern wie das Ganze in als bit aussieht jetzt müssen
  44. wir eigentlich nur noch die sechs die drei die sechs die drei und so weiter umschreiben in Binärcode und dann sieht das ganze so aus ne also 6 ist 0110 und
  45. so oft kommt die 0 dann kommt 0011 + 3 so oft kommt die 1 und so weiter und so fort so
  46. so eine Reihe oder eine Folge von Farbwerten also 6 mal 0 das ist eine Folge eine Reihe kann man auch als run bezeichnen und wenn du hier nachzählst
  47. wir haben 6:031 und so weiter erzähl mal durch das sind 12 runs und für jeden run den ich hier mache brauche
  48. ich einmal vier Bit für die Pixel Anzahl und ein Bit für die Farbe ich habe hier 0110 und 0 das heißt sechs Mal die 0 das
  49. heißt 4 Bit und für die Anzahl also sechs Mal und ein Bit für die Farbe 0 schwarz und so weiter das ist ein Run der hier eingezeichnet ist
  50. und dieses Kompressionsverfahren das genauso durch auch mit farbigen Pixeln funktioniert heißt eben run längs encoding echt codiere mir oder schreibe
  51. mir auf wie lange ein Run ist und welche Farbe der hat also wie lang ist der Lauf und deswegen heißt das Dingen eben
  52. Lauflängen Codierung zu und dieses Verfahren kommt zum Beispiel bei dem Bildformate JPG zum Einsatz oder JPEG das kennst du sicherlich früher hat dein
  53. Handy bestimmt auch diese Bilder gemacht oder ein Digitalkamera gemacht in der Regel auch noch solche Bilder also ein Run das ist eben wie oft
  54. hintereinander die gleiche Farbe kommt ist ein Einlauf und dann habe ich mehrere solcher Läufe bis dann die Grafik zu Ende ist und deswegen
  55. Lauflängen Codierung so jetzt soll das ganze ja ein Kompressionsverfahren sein das heißt ich will Speicherplatz einspeichern und deshalb muss ich auch
  56. ausrechnen können wie viel ich jetzt gespeichert habe das ist dann die sogenannte Kompressionsrate und die berechnet sich wie folgt ich brauche
  57. einmal den Speicher den ich komprimiert verbrauche und den Speicher in der Originalgröße die Teile ich durcheinander
  58. so weil da nur eine komische Zahl rauskommt und wir aber eine schöne Prozentzahl rausbekommen wollen sieht das ganze dann so aus dass ich vorne 100
  59. mal Klammer auf 1 - dann dieses komprimiert durch Originalgröße rechne Klammer zu und das ist dann die Prozentzahl
  60. mathematische Formel kommen wir gucken uns mal an wie es funktioniert also Kompressionsrate bei unserem Beispiel wenn du nachzählst dann sind es
  61. insgesamt 60 Bits die wir brauchen in der komprimierten Variante also wo ich dann die runs und so weiter die ganzen Bits gezählt habe und vorher hatte ich
  62. ja acht mal acht Bits also 64 bits da sehen wir jetzt schon auf dem ersten Blick wir haben nicht mega viel gespart aber wir rechnen jetzt mal aus also 60
  63. durch 64 und davor 100 mal Klammer auf 1 - 60 / 64 Klammer zu so wenn ich das jetzt alles in Taschenrechner eingebe oder im Kopf rechne dann kommt er raus
  64. das ist 6,25% sind die ich gespart habe ja jetzt hast du dir wow dann haben wir so ein Aufwand gemacht und haben Bits und Farben und Pixel gezählt und hin und
  65. her und haben da 6,25% gespart das muss doch irgendwie besser gehen ja jetzt machen wir das gleiche mal mit einer Grafik mit bunten Farben
  66. hier sieht das ganze dann so aus dass ich eben aufschreibe ich habe zweimal 255 255 250 dann kommt 12 x 97216 53 dann kommt viermal und so weiter und so
  67. fort ich habe das alles mal so aufgeschrieben ja das kannst du auch gerne noch mal nachprüfen nachzählen und so weiter oder du glaubst es mir je
  68. nachdem und dann mache ich eigentlich nichts anderes wie vorher auch jetzt muss ich das Ganze eben in Binärcode umwandeln also zwei ist eben 0010 dann
  69. die 255 und so weiter das was jetzt hier oben immer so als ein Block steht also wie zweimal 250 250 250 das ist ja ein Run
  70. und ich habe jetzt in der umgeschriebenen Variante für Binärcode immer einen Run in eine Zeile geschrieben guck dir das mal an wir
  71. vergleichen mal oben also zweimal 52 zu 255 255 ist dann eben 0010 für zwei und dann maximum 255 ist eben alles auf eins dann kommt der
  72. nächste das ist 12 12 ist in binärschreibweise 1100 und dann 97216 53 steht dann so da und so weiter und so fort
  73. ich habe jetzt hier nicht alle aufgeschrieben einfach den Anfang passt nicht auf dem Bildschirm ich hoffe du glaubst mir das auch so wenn dir das
  74. Spaß macht dann kannst du auch noch die restlichen Zeilen aufschreiben so hier habe ich wenn du das dann durchzählst und insgesamt auch schreibst
  75. sind es 11 Frans insgesamt ein Run besteht immer aus vier Bits für die Anzahl also 0010 für zwei Pixel und dann dreimal 8
  76. Bits für die jeweils RG und B für die drei Farben Vergleich mal ein Run 4 + 8 + 8 + 8 und dann schaut ihr die erste Zeile ganz
  77. oben an sind also 28 Bits pro Zeile 28 Bits pro Run das sind in unserem Fall hier 308 bits
  78. weil ich habe insgesamt 11 mal 28 Bits 308 bits so ich hoffe du bist noch bei mir jetzt wollen wir auch hier wieder die
  79. Kompressionsrate berechnen das ist ja die Formel die kennst du schon so nun wollen wir einsetzen also wir haben gerade was gefunden komprimiert brauchen
  80. wir 308 Bits dann ganz am Anfang vielleicht erinnerst du dich habe ich dir gesagt dass die 8 x 8 also 64 Pixel Grafik insgesamt 1536 Bits hat wenn ich
  81. für jedes Bild einzeln abspeicher welche Farbe es hat dann mache ich hier diese Mathematik und dann kommt bei rum dass ich
  82. 79,95%. einspare also fast 80 Prozent und das ist Wahnsinn ja ich brauche jetzt nur noch 20% von der Dateigröße für mein Bild ich brauche nicht mehr 1,5
  83. Megabyte sondern ich brauche nur noch ja 308 Byte ist doch der Wahnsinn also ich finde es klasse so
  84. jetzt kannst du kannst dich fragen wieso ist es denn jetzt so krass das war vorher doch gar nicht ja nur das liegt daran dass ich jetzt nicht mehr für
  85. jedes Pixel einzeln da 24 Bit aufschreiben muss 8 16 24 nee ich muss ja für jedes Pixel ursprünglich immer 24 Bit aufschreiben und das muss ich jetzt
  86. nicht mehr weil ich eben diese diese runs habe und dann nur noch für einen Run die den Farbinformationen absprechen muss
  87. aber achtung Achtung es kann auch sein dass Sie dass du durch diese Kompression gar keinen Speicherplatz einsparst schau dir mal diese beiden Beispiele an und
  88. berechne jeweils die Datei Größe unkomprimiert da brauchst du gar nicht viel rechnen weil das habe ich am Anfang vom Video schon gesagt und dann
  89. komprimiert also finde mal raus wie ist das Ganze komprimiert wie groß sind diese beiden Bilder mit Hilfe der Lauflängen Kodierung fällt dir irgendwas
  90. an bin gespannt also jetzt kennst du die Lauflängen Codierung ich wünsche dir viel Spaß beim kurieren

Zum Nachlesen