PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auflösung aufgeblasen


Gmax
2007-07-21, 01:22:41
Forscher bei Intel Research haben einen neuartigen Algorithmus (http://download.intel.com/pressroom/kits/research/poster_Robust_Video_super-resolution.pdf) (PDF) entwickelt, der die Auflösung eines Films in Echtzeit deutlich erhöhen kann. Die Technologie mit dem Namen "Super Resolution" läuft bereits auf Multi Core-Maschinen mit zwei Kernen – skaliert aber auch auf mehrere Hundert hoch. Potenziell lassen sich damit Aufnahmen billiger Webcams ebenso "aufblasen" wie alte Heimvideos oder DVDs, aus denen man HD-Streifen machen könnte.

http://www.heise.de/tr/artikel/92635

Gast
2007-07-21, 01:27:40
Möglich ist das sicherlich, aber die erforderliche Rohpower wird enorm sein.

Ich könnte mir durchaus ein System vorstellen, das jede einzelne Bildszene analysiert und dann durch weitere zur Szene passenden Pixel ergänzt und dadurch höhere Auflösungen erzeugen kann.

Allerdings wird der Rechenaufwand gigantisch sein, wenn es in Echtzeit ablaufen soll.

Neosix
2007-07-21, 02:00:23
hab auch wo als zusatz gelesen das derzeit ca 160 prozessoren benötigt werden um diesen algorythmus in realtime zu berechnen. also noch lange nix für den homegebrauch ^^

dort steht es läuft auf multicore mit zwei kernen aber nix von realtime ;) für die benötigt man ne ganze ecke mehr kerne. ist schon wunderbar wie man alles falsch darstellen kann.

robbitop
2007-07-21, 08:58:30
Das ist nichts anderes, als Videoscalereprozessoren machen.
Das kann schon was bringen. Aber dennoch lassen sich Informationen nicht herbeizaubern. Beim "Ausdenken" dieser Informationen und einbringen in zeitliche und raeumliche Aufloesung kommt es gern auch mal zu Artefakten.

Mr. Lolman
2007-07-21, 09:38:48
Ein bisschen anders funktionierts schon. Die Bilder werden nicht hochskaliert sondern aus verschiedenen Frames zusammengerechnet. Dadurch erhöht sich natürlich auch der Informationsgrad eines einzelnen Bildes.

robbitop
2007-07-21, 10:54:52
Das ist mir schon klar (und genau das tun gute Videoprozessoren und auch nicht so gute, wie Phillips' Pixel Plus) ebenfalls. Da 2 aufeinanderfolgende Bilder oftmals einen nicht vorhersehbaren zeitlichen/raeumlichen Versatz haben (auch bei den besten Analysen), fuehrt es aber in einigen Szenen zu Artefakten.

Coda
2007-07-21, 11:17:37
Ich denke deshalb ist das Verfahren auch so rechenintensiv um sowas auszuschließen.

interzone
2007-07-21, 12:40:05
naja, mag ja sein, dass damit SD-Bilder auf HD-Anzeigen gut anschaubar sind (gute Scaler bekommen das ja auch einigermaßen bis 1080p hin), aber die Detailschärfe einer nativen HD-Quelle ist eben nicht mal ansatzweise zu erreichen - die fehlenden Informationen können ja nicht herbeigezaubert werden.

Mark
2007-07-21, 13:07:20
naja, mag ja sein, dass damit SD-Bilder auf HD-Anzeigen gut anschaubar sind (gute Scaler bekommen das ja auch einigermaßen bis 1080p hin), aber die Detailschärfe einer nativen HD-Quelle ist eben nicht mal ansatzweise zu erreichen - die fehlenden Informationen können ja nicht herbeigezaubert werden.

eben doch, weil nicht nur ein bild zum vergrößern hergenommen wird, sondenr die informationen aus anderen bildern ergänzt werden.
wie gut das funktioniert weiß ich allerdings nicht, aber scheinbar braucht es enorm rechenlesitung

Avalox/Gast
2007-07-21, 13:11:43
Na gibt es denn irgendwo mal ein Demovideo?

Lesesn tut es sich wie ein Verfahren, welches für das IMax Kino eingesetzt wird.

aths
2007-07-21, 13:31:43
Ein bisschen anders funktionierts schon. Die Bilder werden nicht hochskaliert sondern aus verschiedenen Frames zusammengerechnet. Dadurch erhöht sich natürlich auch der Informationsgrad eines einzelnen Bildes.Das optische Ergebnis kann stark verbessert werden. Die Granularität in den einzelnenen Bildern allerdings kann kaum für "echte" hochfrequente, neue Information genutzt werden.

Bei geringer Geometrie-Komplexität und starken Kontrasten ließe sich z.B. mit Vektorisierung auch nachträglich Kanten-Antialiasing machen. Aber Strukturen innerhalb einer Fläche ("Textur") werden so bestenfalls günstig hochskaliert. Was vorher durch den Tiefpass weggehauen wurde, kann nachträglich nicht wieder reinkommen. Man kann nur raten, hat aber bei guten Algorithmen oft gute Treffer.


Das ist mir schon klar (und genau das tun gute Videoprozessoren und auch nicht so gute, wie Phillips' Pixel Plus) ebenfalls. Da 2 aufeinanderfolgende Bilder oftmals einen nicht vorhersehbaren zeitlichen/raeumlichen Versatz haben (auch bei den besten Analysen), fuehrt es aber in einigen Szenen zu Artefakten.Bei Pixelplus rühren die Artefakte vor allem daher, dass nur ein kleiner umliegender Bereich berücksichtigt wird. Das reicht bei bestimmten Strukturen (wie Zäunen) oft nicht, die gesamte "Textur" zu erfassen. Insgesamt aber mag ich das Pixelplus, weil es trotz seiner Fehler das Film-Erlebnis optisch meistens erheblich aufwertet.

interzone
2007-07-21, 14:18:32
Bei geringer Geometrie-Komplexität und starken Kontrasten ließe sich z.B. mit Vektorisierung auch nachträglich Kanten-Antialiasing machen. Aber Strukturen innerhalb einer Fläche ("Textur") werden so bestenfalls günstig hochskaliert. Was vorher durch den Tiefpass weggehauen wurde, kann nachträglich nicht wieder reinkommen. Man kann nur raten, hat aber bei guten Algorithmen oft gute Treffer.
Raten? Wie kann ich mir das vorstellen?
Das würde imo bedeuten, dass die Texturen analysiert, erkannt (z.B. Haut, Stoff, Gras) und aus einer umfangreichen Datenbank an den entsprechenden Stellen eingesetzt werden müßten - nach weiteren den restlichen Bildinformationen entsprechenden Bearbeitungsschritten (Farbfilter, Schattierungen, etc.).
Das verfälschte dann allerdings immer das Original - z.B. die verschwundene Narbe, die man bei nativem HD sehen könnte.

Ein Beispiel einer bearbeiteten Datei würde mich mal interessieren.

Mr. Lolman
2007-07-21, 15:02:02
Pixel Plus kombiniert AFAIK bloß 2 Bilder fürs DeInterlacing. Die zusätzliche Schärfe hingegen, kommt m.W. durch div. Filter zustande. Intels Super Resolution soll hingegen Bildmaterial nicht nur schärfen können, sondern auch den Detailgrad erhöhen.


Was vorher durch den Tiefpass weggehauen wurde, kann nachträglich nicht wieder reinkommen.

Ich stell mir das ungefähr nach dem Prinzip von PVRTC vor, wo auch zwei niedrig aufgelöste Bilder zu einem höher aufgelösten kombiniert werdern können. MotionDSP ist zB eine solche Technik (gut zu sehen im 2. Beispiel): http://www.motiondsp.com/OnlineVideoDemos2.html

Gast
2007-07-21, 15:38:07
Ich denke deshalb ist das Verfahren auch so rechenintensiv um sowas auszuschließen.
das lässt sich nicht 100%ig ausschließen.

aths
2007-07-21, 21:38:40
Raten? Wie kann ich mir das vorstellen?
Das würde imo bedeuten, dass die Texturen analysiert, erkannt (z.B. Haut, Stoff, Gras) und aus einer umfangreichen Datenbank an den entsprechenden Stellen eingesetzt werden müßten - nach weiteren den restlichen Bildinformationen entsprechenden Bearbeitungsschritten (Farbfilter, Schattierungen, etc.).
Das verfälschte dann allerdings immer das Original - z.B. die verschwundene Narbe, die man bei nativem HD sehen könnte.

Ein Beispiel einer bearbeiteten Datei würde mich mal interessieren.Geraten wird anders. Er guckt ob er "Texturen" findet um die Zwischenbilder zu berechen. Die Schärfe pro Bild kommt "nur" durch gute Upscaling-Algos und eben dem Deinterlacing. "Texturen" sind hier Pixelflächen in dem sich die Bildinformationen zueinander in der Bildabolge nicht oder fast nicht verschieben.

aths
2007-07-21, 21:42:22
Pixel Plus kombiniert AFAIK bloß 2 Bilder fürs DeInterlacing. Die zusätzliche Schärfe hingegen, kommt m.W. durch div. Filter zustande. Intels Super Resolution soll hingegen Bildmaterial nicht nur schärfen können, sondern auch den Detailgrad erhöhen.



Ich stell mir das ungefähr nach dem Prinzip von PVRTC vor, wo auch zwei niedrig aufgelöste Bilder zu einem höher aufgelösten kombiniert werdern können.In dem man noch ein hochfrequentes Signal mit einrechnet. PVRTC hat mit Upscaling nichts zu tun außer dass das tieffrequente Signal nicht ungefiltert sondern bilinear hochskaliert wird.
MotionDSP ist zB eine solche Technik (gut zu sehen im 2. Beispiel): http://www.motiondsp.com/OnlineVideoDemos2.htmlDa werden nur Blockartefakte unterdrückt.

Mr. Lolman
2007-07-21, 22:03:08
Da werden nur Blockartefakte unterdrückt.

Nö:
http://www.imagebanana.com/img/m78iojsq/motiondsp.jpg (http://www.imagebanana.com/)

aths
2007-07-21, 22:45:54
Das Bild links ist ganz miserabel hochskaliert. Toller Vergleich.

Coda
2007-07-21, 22:47:50
Hm selbst wenn, das Optics rechts könnte man auch bei guter Skalierung sonst niemals lesen.

robbitop
2007-07-22, 09:49:30
Ich denke deshalb ist das Verfahren auch so rechenintensiv um sowas auszuschließen.
Mal aus Interesse: wie will man denn sowas ausschliessen?

Wenn das Verfahren wirklich so gut ist, sollte man es besser in Hardware giessen. CPUs sind fuer Spezialaufgaben ja nicht oft die besten Hilfsmittel.

Coda
2007-07-22, 11:16:31
Ja gut, fast ausschließen. War vielleicht etwas übertrieben ausgedrückt. Aber ich denke halt, dass sich da mit wirklich viel Rechenleistung ein quasi perfektes Ergebnis erzielen lässt.

VivaLaHarry
2007-07-22, 13:41:43
moin zusammen,

das klingt ja alles sehr gut für alte Aufnahmen ... aber ist es nicht genauso wie bei Digitalkameras, dass die native Auflösung zu vergrößern immer noch die Beste Möglichkeit ist als irgendeine Hardware-Interpolation? (bzw. ein solch aufwändiges Verfahren ... größere CCDs sind bestimmt nicht viel teurer)

MfG,
VivaLaHarry

Gast
2007-07-22, 15:56:06
fehlende informationen kann kein algorithmus der welt wieder herbeizaubern, das geht höchstens bei harry potter oder CSI.

man kann die vorhandenen informationen zwar subjektiv gesehen besser darstellen, mehr informationen, die ein echtes HD-bild hat, sind es dann aber trotzdem nicht.

Gast
2007-07-22, 15:58:01
das klingt ja alles sehr gut für alte Aufnahmen ...

alte aufnahmen sind in der regel auf filmmaterial gemacht, dieses hat locker potential für 4-6MP, also auch für die höchste HD-auflösung. da ist eine erneute digitalisierung wesentlich besser als irgendein toller upscaling-algo.

Gast
2007-07-22, 16:09:51
Ich glaube auch eher, die Bemerkung ist seitens Intels irgendwie nebenbei fallengelassen worden, um der Methode irgendeinen anschaulichen Nutzen abzugewinnen. Viel eher könnte ich mir eine Verwendung dort vorstellen, wo es keine besseren Originale gibt. Z.B. in der Archeologie. Dort werden sich einige Leute für sowas bedanken. Auch für Datenwiederherstellung könnte sowas nützlich sein, bei BKA, CIA und Konsorten.

Für Filme allerdings total wertlos.

Gast
2007-07-22, 16:33:24
fehlende informationen kann kein algorithmus der welt wieder herbeizaubern

Klar geht das. So wie ein Maler ein Bild fertig malen kann, kann auch deine CPU fehlende Informationen berechnen, wenn sie nur genügend Rechenpower dafür hat.

Wenn du das Bild vorher und das Bild nachher analysiert, ist es einem ausgereiften Algorithmus auf jeden Fall möglich, die Bilder auf höhere Auflösungen hochzurechnen und Informationen hinzuzufügen, die sich aus dem analysierten Bildinhalt ergeben.

VivaLaHarry
2007-07-22, 16:37:47
moin zusammen,

ein Beispiel: Eine Wand mit einem sehr fein gepunkteten Muster (stellt euch vor, was ihr wollt, mir egal :biggrin:) ... auf einem 576p-Frame nicht genau zu erkennen, im folgenden jedoch auch nicht. Wie soll das dann sogut aussehen wie bei einer 1080p Aufnahme bei der dieses Muster perfekt drauf wäre? :confused:

(Entschuldigung für meine wirren Worte, kann schlecht gleichzeitig denken und schreiben ... (blöder SingleCore))

MfG,
VivaLaHarry

Gast
2007-07-22, 17:15:00
Klar geht das.
nein.

Gast
2007-07-22, 17:58:07
Du solltest nicht von Dingen reden, mit denen du dich nicht auskennst..

Natürlich geht das, wenn du mir einen passenden Supercomputer zur Verfügung stellst, schreibe ich dir das passende Programm dazu. ;)

robbitop
2007-07-22, 18:05:00
Du solltest nicht von Dingen reden, mit denen du dich nicht auskennst..

Natürlich geht das, wenn du mir einen passenden Supercomputer zur Verfügung stellst, schreibe ich dir das passende Programm dazu. ;)
Dann wuerde ich gern mal wissen, wie du das umsetzen wuerdest. Wie tastest du das Signal ab? Welche Filter nutzt du? Wie rekonstruierst du "verschliffene" Teile des Signals?

Gast
2007-07-22, 18:13:12
Filter? Keinen. Wenn ich einfach was fertiges nehmen würde, bräuchte ich es ja nicht erst programmieren. ;D

Ich verstehe nur nicht, warum manche Leute immer noch denken, das es nicht möglich sei, Bildinhalte zu analysieren und ergänzen zu lassen? Ist das denn so schwer vorstellbar?

Mit der nötigen Rechenleistung ist quasi alles möglich, die Frage ist lediglich, mit welchem Zeitaufwand.

Ein Quad Core ist da noch gar nichts. Der würde wahrscheinlich nicht mal über 0,001fps hinaus kommen, wenn es in Echtzeit abläuft. :)

Die Frage stellt sich daher zur Zeit kaum. Technisch möglich ist es, praktisch relevant noch lange nicht, nicht im Homebereich.

Mr. Lolman
2007-07-22, 18:15:30
Der Informationsgehalt von einzelnen Bildern lässt sich nur dann erhöhen, wenn genügend unterschiedliche Einzelbilder von der jew. Bildszene existieren. Die Beispiele auf MotionDSP illustrieren das imo auch recht gut.

EDIT: Photoacute ist zB ne Software die die Technik u.A. auch bei Handycams verwendet: http://photoacute.com/ und Sonys DRC-MF soll angeblich auch nach nem ähnlichen Prinzip arbeiten...

Gast
2007-07-22, 18:22:10
Du kannst auch schon mit einem einzigen Bild die Qualität verbessern. Das Ergebniss ist zwar nicht so gut, wie bei einer länger andauerden Szene, aber dadurch werden z.B. Schriften besser lesbar.
Dein Beispielbild zeigt das ja schon.

Im Gegensatz zum Menschen ist ein algorithmus durchaus in der Lage, kleinste Details zu analysieren und daraus etwas sinnvolles zu basteln, das für den Menschen dann erst lesbar sind.

Das ist noch nicht mal Zukunftsmusik, in manchen Teilbereichen kommen solche Verfahren schon zum Einsatz, z.B. bei der Gerichtsmedizin oder bei ganz alten Artetefakten, wo Schriften kaum noch lesbar sind.
Das lässt sich noch auf viele andere Bereiche übertragen, Hauptproblem ist nunmal die Rechenleistung, die ist im Vergleich dazu noch winzig.

nggalai
2007-07-22, 18:28:52
Der Informationsgehalt von einzelnen Bildern lässt sich nur dann erhöhen, wenn genügend unterschiedliche Einzelbilder von der jew. Bildszene existieren. Die Beispiele auf MotionDSP illustrieren das imo auch recht gut.
Jo. Es sollte klar sein, daß mehrere Bilder (in unterschiedlichen Winkeln oder nur schon leicht „verrüttelt“) mehr Informationen als ein einzelnes Bild beinhalten. Und daß man daraus ein Standbild berechnen kann, wo diese Informationen halt reinfließen. Das lustige an dieser Technolgie hier ist, daß man das halt gleich in einen Video rendert. Was in Echtzeit erst mit viel, viel Rechenleistung möglich ist.

Xmas
2007-07-22, 18:28:55
Klar geht das. So wie ein Maler ein Bild fertig malen kann, kann auch deine CPU fehlende Informationen berechnen, wenn sie nur genügend Rechenpower dafür hat.
Fehlende Informationen kann man nicht berechnen. Sonst würden sie ja nicht fehlen, sondern wären nur codiert.

Was man allerdings tun kann ist sich Erfahrungswerte beim Schätzen zunutze zu machen. So kann man basierend auf der Erfahrung dass Objekte selten ihre Oberflächenstruktur ändern oder sich deformieren die zeitliche Mehrfachabtastung (mehrere Frames die dasselbe Objekt zeigen) anhand von Bewegungsschätzung in eine höhere räumliche Auflösung überführen – allerdings immer nur mit Schätzwerten.

Gast
2007-07-22, 18:34:56
Klar geht das. So wie ein Maler ein Bild fertig malen kann, kann auch deine CPU fehlende Informationen berechnen, wenn sie nur genügend Rechenpower dafür hat.

der maler kann irgendwas hinmalen, was gerade seinen vorstellungen entspricht, genauso kann ein algorithmus irgendwelche details hinzufügen, diese entsprechen aber nicht den informationen, die die szene hätte wenn sie wirklich mit höherer auflösung abgetastet werden würde.

Mr. Lolman
2007-07-22, 18:41:26
Du kannst auch schon mit einem einzigen Bild die Qualität verbessern. Das Ergebniss ist zwar nicht so gut, wie bei einer länger andauerden Szene, aber dadurch werden z.B. Schriften besser lesbar.
Dein Beispielbild zeigt das ja schon.

Mein Beispielbild ist auch aus nem Video, sonst wär das entweder bloß mit deutlich schlechterer Qualität oder mit manuellem Eingriff möglich. Andererseits gibts natürlich schon einen Haufen brauchbarer Upsacalingalgorithmen, die auch bei Einzelbildern gute Ergebnisse erzeugen. Die erhöhen dann allerdings nicht den Informationsgehalt: http://www.hiend3d.com/hq2x.html

Gast
2007-07-22, 18:48:04
Fehlende Informationen kann man nicht berechnen.

Ein gewisser Schätzfaktor ist unvermeidbar, aber das heißt ja noch lange nichts. Das Ergebniss kann trotzdem perfekt sein. Je nachdem wieviele Informationen vorhanden waren!

der maler kann irgendwas hinmalen, was gerade seinen vorstellungen entspricht, genauso kann ein algorithmus irgendwelche details hinzufügen, diese entsprechen aber nicht den informationen, die die szene hätte wenn sie wirklich mit höherer auflösung abgetastet werden würde.

exakt.
Aber: Am Ende zählt eh nur das, was du als Mensch wahrnimmst.
Welchen Unterschied würde es für dich machen, ob du ein real aufgenommes Video siehst oder eines, das berechnet wurde?

Nehmen wir doch mal ein einfaches Beispiel:
Du schreibst einen Buchstaben auf ein Blatt. Jetzt radierst du ein paar Teile davon weg, so das der Buchstabe für dich nicht mehr lesbar wäre... dazu gehen wir mal davon aus, das auch keine anderen Rückstände in Form von eingedrückten Stellen auf dem Blatt etc. vorhanden wären (die durch Vergrößerung sichtbar wären).

So, jetzt sind nur noch sehr wenige Informationen vorhanden. Du als Mensch kannst sie nicht lesen, aber ein algorithmus ist durch berechnung in der Lage, diese klitzekleinen "Pixel" zu erkennen und abzuschätzen, was vorher da gestanden hat. Je nachdem wieviele Rückstände geblieben sind, fällt das Ergebnisse super oder eher durchschnittlich aus.
Allein dieser Vorgang verschluckt schon einiges an Rechenleistung, kein Vergleich zu einem Video, in dem nicht nur Schriften, sondern Milliarden Farbkombinationen oder Gegenstände zu sehen sind... da ist also umdenken angefragt.

Bei Schriften geht das besonders gut, da man Wörter und Buchstaben in einer Datenbank einspeichern kann, bei Farben oder Gegenständen, ist das fast unmöglich, gibt einfach zuviele Kombinationen.

Gast
2007-07-22, 18:59:48
Hatte noch was vergessen: Perfekt wäre natürlich ein algorithmus der selbstständig dazu lernt.

Wenn er beispielweise erst das komplette Video analysiert und nicht nur einzelne frames, dann ist das Ergebniss am Ende sehr viel besser.

Wenn man diesen dann mit genügend Informationen füttert, wird er irgendwann erkennen können, das es sich z.B. bei einem Gegenstand, der aus einem schwarzen und weißen Farbton besteht und eine gewisse Form hat, um einen Fußball handelt. ;)
Je mehr Informationen er analysiert, desto öfter wird er dann gemeinsamkeiten erkennen können... was neben unmengen an Rechenleistung auch noch riesige Speichermengen erfordert.
Man nehme mal an, was dieser algorithmus zu leisten im stande wäre, wenn man ihn 24/7 mit 30 TV-Sendern ein ganzes Jahr lang füttert. In dieser langen Zeitspanne wird er sehr oft wiederholende antreffen, die er irgendwann nicht mehr berechnen braucht, sondern einfach aus dem bisherigen Bestand abrufen könnte.

Aber alles noch Zukunftsmusik. Schauen wir in 20 Jahren nochmal :)

Gast
2007-07-22, 19:07:05
Falls es hier noch einige Ungläubige gibt... ich führe das Beispiel einmal weiter.

Wenn es Milliarden Farbkombinationen gibt und das reale Bild z.B. aus Blau besteht, der algorithmus aber nicht genau diesen wiedererkennt, würde ihr es überhaupt merken, wenn die exakte Farbe, für den Mensch kaum sichtbar, nicht exakt die gleiche ist bei so vielen Kombinationen?

zwischen blau und hellblau erkennt jeder noch den Unterschied, aber was, wenn dazwischen noch 100000 weitere Unterscheidungen existieren, erkennt ihr dann jede einzelne auch noch?

Gast
2007-07-22, 19:20:40
Ein gewisser Schätzfaktor ist unvermeidbar, aber das heißt ja noch lange nichts. Das Ergebniss kann trotzdem perfekt sein. Je nachdem wieviele Informationen vorhanden waren!


weil es eben nicht das selbe ist.

wenn du eine weiße wand filmst, die eine struktur aufweist, die in SD-aufösung nicht mehr sichtbar ist, in HD-auflösung aber schon, kannst der algorithmus auf und niederhüpfen, er wird die struktur aus dem SD-bild niemals wiederherstellen können.

es ist richtig dass man besseres upscaling als einen simplen bilinearen oder bicubischen filter machen kann, trotzdem wird man niemals an die echte HD-qualität rankommen.

nggalai
2007-07-22, 19:32:44
wenn du eine weiße wand filmst, die eine struktur aufweist, die in SD-aufösung nicht mehr sichtbar ist, in HD-auflösung aber schon, kannst der algorithmus auf und niederhüpfen, er wird die struktur aus dem SD-bild niemals wiederherstellen können.
Jein. Wenn die Struktur durch Lichteinfall in einem bestimmten Winkel sichtbar ist, während man die Wand filmt (also das Pixelraster mal ausnahmsweise paßt), kann ein Algo für den gesamten Film die Struktur dazuberechnen – einfach, weil sie in ein paar Bildern zu sehen war.

Gast
2007-07-22, 19:56:28
weil es eben nicht das selbe ist.

Das ist auch nicht der Sinn dieser Technologie.

Im Homebereich wäre es reichlich egal, ob die berechnete Szene exakt dem Original entspricht oder minimale Abweichungen aufweist, die du als Zuschauer, nicht wahrnimmst, weil die Unterschiede zu klein sind.

Dafür haste dann halt ein wesentlich hochauflösenderes Video.

Xmas
2007-07-22, 20:22:40
Ein gewisser Schätzfaktor ist unvermeidbar, aber das heißt ja noch lange nichts.
Doch, das heißt eigentlich alles.
Das Ergebniss kann trotzdem perfekt sein. Je nachdem wieviele Informationen vorhanden waren!
Das Ergebnis kann sehr gut sein, und auch mal zufällig genau dem Entsprechen was eine Kamera mit höherer Auflösung aufgezeichnet hätte. Nur kannst du eben nicht sagen ob es richtig ist oder nicht, und damit ist es auch nicht perfekt.

Nehmen wir doch mal ein einfaches Beispiel:
Du schreibst einen Buchstaben auf ein Blatt. Jetzt radierst du ein paar Teile davon weg, so das der Buchstabe für dich nicht mehr lesbar wäre... dazu gehen wir mal davon aus, das auch keine anderen Rückstände in Form von eingedrückten Stellen auf dem Blatt etc. vorhanden wären (die durch Vergrößerung sichtbar wären).

So, jetzt sind nur noch sehr wenige Informationen vorhanden. Du als Mensch kannst sie nicht lesen, aber ein algorithmus ist durch berechnung in der Lage, diese klitzekleinen "Pixel" zu erkennen und abzuschätzen, was vorher da gestanden hat. Je nachdem wieviele Rückstände geblieben sind, fällt das Ergebnisse super oder eher durchschnittlich aus.
Allein dieser Vorgang verschluckt schon einiges an Rechenleistung, kein Vergleich zu einem Video, in dem nicht nur Schriften, sondern Milliarden Farbkombinationen oder Gegenstände zu sehen sind... da ist also umdenken angefragt.

Bei Schriften geht das besonders gut, da man Wörter und Buchstaben in einer Datenbank einspeichern kann, bei Farben oder Gegenständen, ist das fast unmöglich, gibt einfach zuviele Kombinationen.
Dieser Fall ist anders gelagert weil im Voraus bekannt ist dass es sich um einen Buchstaben handelt, womit die Zahl der Möglichkeiten sehr eingeschränkt ist. Auch ein Mensch wäre in der Lage, die vorhandenen Informationen mit Buchstaben zu vergleichen und festzustellen dass es sich mit Wahrscheinlichkeit X um Buchstaben Y handelt – nur eben langsamer.
Wie genau die fehlenden Striche geführt wurden lässt sich aber nicht mehr mit Sicherheit bestimmen.

Gast
2007-07-22, 20:30:01
Nur kannst du eben nicht sagen ob es richtig ist oder nicht, und damit ist es auch nicht perfekt.

Warum muss das Ergebniss denn perfekt sein?

Das ist gar nicht notwendig. Wenn du den Unterschied nicht siehst, hat diese Technologie ihren Zweck voll erfüllt!

Xmas
2007-07-22, 20:36:49
Du weißt doch gar nicht ob man den Unterschied sehen würde, und ob das was dargestellt wird dem real vorhandenen entspricht.

Natürlich erfüllt die Technologie ihren Zweck, nur berechnet sie eben keine Informationen aus dem Nichts.

Gast
2007-07-22, 20:59:59
Jein. Wenn die Struktur durch Lichteinfall in einem bestimmten Winkel sichtbar ist, während man die Wand filmt (also das Pixelraster mal ausnahmsweise paßt), kann ein Algo für den gesamten Film die Struktur dazuberechnen – einfach, weil sie in ein paar Bildern zu sehen war.

selbst das wird nicht wirklich funktionieren, da das aussehen der struktur vom winkel der lichtquelle(n) und der kamera abhängt. wenn man nun einfach die struktur die in einem bestimmten winkel von der SD-kamera erfasst wird nun auf den ganzen film überträgt wird das ziemlich dämlich und statisch aussehen. man müsste schon die höheninformationen der struktur und gleichzeitig den kamerawinkel kennen um die struktur halbwegs korrekt auch auf andere winkel umrechnen kann. beide informationen sind aber in einem einfachen 2D-bild nicht vorhanden.
außerdem würde dann vielleicht auf eine andere wand, die eine ganz andere struktur hat (welche von der SD-kamera auch nicht erfasst werden kann), plötzlich die gleiche struktur drübergelegt werden.

Gast
2007-07-22, 21:27:44
Du weißt doch gar nicht ob man den Unterschied sehen würde, und ob das was dargestellt wird dem real vorhandenen entspricht.

Du gehst da mit der falschen Denkweise ran:
WARUM willst du überhaupt wissen, ob das dargestellte dem tatsächlichen entspricht, wenn du den Unterschied nicht siehst? Kannst du Milliarden Farbtöne mit bloßem Auge auseinander halten?

Dieser Algorithmus wird keine Bilder ERFINDEN, sondern sie ERGÄNZEN.

In der Praxis sind doch auf Videos keine Informationen verschwunden, sondern oft einfach nur verpixelt oder blockartig zu sehen. Dies wird mit dieser Technologie anders.

Aus einem verpixelten Fußball wird z.B. einer, der auch so aussieht, ohne die Klötzchen. ;)

robbitop
2007-07-22, 22:01:00
Filter? Keinen. Wenn ich einfach was fertiges nehmen würde, bräuchte ich es ja nicht erst programmieren. ;D

Ich verstehe nur nicht, warum manche Leute immer noch denken, das es nicht möglich sei, Bildinhalte zu analysieren und ergänzen zu lassen? Ist das denn so schwer vorstellbar?

Mit der nötigen Rechenleistung ist quasi alles möglich, die Frage ist lediglich, mit welchem Zeitaufwand.

Ein Quad Core ist da noch gar nichts. Der würde wahrscheinlich nicht mal über 0,001fps hinaus kommen, wenn es in Echtzeit abläuft. :)

Die Frage stellt sich daher zur Zeit kaum. Technisch möglich ist es, praktisch relevant noch lange nicht, nicht im Homebereich.

Mir ist klar, dass man viel aus Signalen rekonstruieren kann. Da du jedoch behauptest, das programmieren zu koennen, wuesste ich gerne, wie du es umsetzen wuerdest (bzgl der Signalrekonstruktion)

Gast
2007-07-22, 22:04:09
In der Praxis sind doch auf Videos keine Informationen verschwunden, sondern oft einfach nur verpixelt oder blockartig zu sehen. Dies wird mit dieser Technologie anders.


natürlich gehen informationen verloren, versuch mal auf ein bild einen unschärfefilter anzuwenden und dann das originalbild zu rekonstruieren. das geht einfach nicht.

robbitop
2007-07-22, 22:04:18
Mein Beispielbild ist auch aus nem Video, sonst wär das entweder bloß mit deutlich schlechterer Qualität oder mit manuellem Eingriff möglich. Andererseits gibts natürlich schon einen Haufen brauchbarer Upsacalingalgorithmen, die auch bei Einzelbildern gute Ergebnisse erzeugen. Die erhöhen dann allerdings nicht den Informationsgehalt: http://www.hiend3d.com/hq2x.html
Jepp, sowas machen sogar viele Emulatoren. (SNES und N64)
Das Ergebnis sieht verdammt gut aus (aber irgendwie anders)

Gast
2007-07-22, 22:12:00
http://www.hiend3d.com/hq2x.htmlSowas sollte mal in Grakatreiber/OS um Videos zu skalieren...

Mr. Lolman
2007-07-22, 22:15:07
Das Ergebnis sieht verdammt gut aus (aber irgendwie anders)

Stimmt. 2xSAI verfälscht da weniger das Bild (und sieht dementsprechend manchmal auch besser aus).

Gast
2007-07-22, 22:45:02
natürlich gehen informationen verloren, #.

Es gehen NICHT alle Informationen verloren (sonst hättest du kein Bild mehr :tongue), nur einige!!

Auf einem kleinem oder schlecht komprimierten Video kannst du als Mensch trotzdem noch erkennen, welcher Gegenstand da zu sehen ist. Er ist aber teilweise extrem blockartig oder sogar unscharf zu erkennen. Das lässt sich wieder grade biegen, weil man weiß, wie der Gegenstand aussieht, denn er ist ja zu sehen, nur halt nicht so scharf, wie es bei einer hohen Auflösung sein müsste.
Die Farbe, Form usw. ist mit geringen Abweichungen identisch zum Original.
Jetzt geht es nunmal darum, die vorhandenen Informationen (Farbe, Form...) auszuwerten und sie so weit wie möglich zu rekonstruieren.

anorakker
2007-07-23, 10:07:49
Es gehen NICHT alle Informationen verloren (sonst hättest du kein Bild mehr :tongue), nur einige!!

Auf einem kleinem oder schlecht komprimierten Video kannst du als Mensch trotzdem noch erkennen, welcher Gegenstand da zu sehen ist. Er ist aber teilweise extrem blockartig oder sogar unscharf zu erkennen. Das lässt sich wieder grade biegen, weil man weiß, wie der Gegenstand aussieht, denn er ist ja zu sehen, nur halt nicht so scharf, wie es bei einer hohen Auflösung sein müsste.
Die Farbe, Form usw. ist mit geringen Abweichungen identisch zum Original.
Jetzt geht es nunmal darum, die vorhandenen Informationen (Farbe, Form...) auszuwerten und sie so weit wie möglich zu rekonstruieren.

dabei wird dir auffallen, dass man aus einem einzelnen standbild fast nichts erkennen kann, sobald sich aber das video "bewegt", erkennt man plötzlich formen und strukturen, die aus einem reinem standbild niemals erkennbar gewesen wären. und genau dieser effekt wird versucht zu "errechnen". und auch als mensch hast du bei einem mangel an echter information (das ist ein sehr dehnbarer begriff, wissenschaftlich aber sehr hart definiert) nur die chance zu raten, nach dem motto "was war das? ein flugzeug? eine rakete? nein - supergrobi!).

Gast
2007-07-23, 11:53:46
fehlende informationen kann kein algorithmus der welt wieder herbeizaubern, das geht höchstens bei harry potter oder CSI.

man kann die vorhandenen informationen zwar subjektiv gesehen besser darstellen, mehr informationen, die ein echtes HD-bild hat, sind es dann aber trotzdem nicht.
Häh, das ging doch schon bei Blade Runner und 'Smirnoff with Orange'

Gast
2007-07-23, 12:01:04
Sowas sollte mal in Grakatreiber/OS um Videos zu skalieren...

dieser algorithmus würde aber höchstens bei cartoons gut aussehen, bei normalen videos wäre er ziemlihc auf verlorenem posten.

und selbst bei den gezeigten beispielen sieht man deutliche probleme, beispielsweise bekommen gedrehte quadrate, plötzlich abgerundete ecken.

VivaLaHarry
2007-07-23, 14:49:27
moin zusammen,

wäre ein weiterer, möglicher Ansatz nicht auch, dass man in Zukunft die 2D-Bilder in eine 3D-Szene umwandeln lässt? Wenn dann in der Kamera ein Kompass drin wäre um den Winkel zu bestimmen ... und genügend Technik um Objekte zu erkennen (auf Kamera schiel: Gesichtserkennung), dann wäre das doch auch möglich. ... oder sehe ich da etwas falsch? :rolleyes:

MfG,
VivaLaHarry

Xmas
2007-07-23, 14:52:33
Du gehst da mit der falschen Denkweise ran:
WARUM willst du überhaupt wissen, ob das dargestellte dem tatsächlichen entspricht, wenn du den Unterschied nicht siehst? Kannst du Milliarden Farbtöne mit bloßem Auge auseinander halten?

Dieser Algorithmus wird keine Bilder ERFINDEN, sondern sie ERGÄNZEN.

In der Praxis sind doch auf Videos keine Informationen verschwunden, sondern oft einfach nur verpixelt oder blockartig zu sehen. Dies wird mit dieser Technologie anders.

Aus einem verpixelten Fußball wird z.B. einer, der auch so aussieht, ohne die Klötzchen. ;)
Mein Anliegen ist lediglich darzulegen, dass man auch mit unendlicher Rechenzeit keine verloreren Informationen "berechnen" kann – sondern nur schätzen. Du kannst vielleicht mit hoher Wahrscheinlichkeit sagen dass sich hinter ein paar Pixelblöcken ein Fußball verbirgt, aber ohne genügend Bildinformationen kannst du nicht mehr herausfinden ob auf dem Ball z.B. die Namen der beteiligten Teams gedruckt waren.

Mastermind@Glückskind
2007-07-24, 00:31:00
Hier gibts auch ein gutes Beispiel:
http://en.wikipedia.org/wiki/Image:Super-resolution_example_closeup.png

Neosix
2007-07-24, 01:21:04
Um etwas praktischer zu werden. ich hab ein youtube vidio auf der festplatte was cih gerne in bessere auflösung/qualität haben möchte. gibt es etwas für den heimbereich was ich bereits nutzen könnte? und das auch halbwegs bedienbar ist? würde dann gerne selbst vergleichen was man so aus nem schlechten source rausholen kann.

Gast
2007-07-24, 01:37:03
Naja, so aufregend ist das nun jetzt auch wieder nicht. Informationen, die von Anfang an nicht dagewesen sind, lassen sich nunmal nicht originalgetreu rekonstruieren. Und wirklich gute Fantasiebilder kann momentan nur unser Gehirn erstellen, da es der Assoziation befähigt ist. Und selbst dann werden Informationen (ziemlich treffsicher) nur hinzugedichtet.
Im Grunde kann man verpixelte Bilder nur kantenbetont weichspülen, um sie danach wieder zu schärfen. Keine Software arbeitet hier fehlerfrei.
Sollte man Maschinen irgendwann die Fähigkeit der Assoziation beibringen können, hat man im Grunde eine KI entwickelt...bisher unrealistisch. Jeder andere (simple) Versuch scheitert an unerhört hohen Anforderungen, was Referenzbilder etc. anbelangt. Sowas werden wir nicht sehen, solange Computer noch derart hochgradig determiniert sind.
Hochwertiges Ausgangsmaterial bleibt das Maß aller Dinge.
Schlecht aufgelöstes Quellmaterial kann in sehr engen Grenzen (im Seheindruck) "verbessert" werden. Hierbei gehen aber immer! Informationen unwiederbringlich verloren.
Was man sieht, ist dann eine reine Interpretation, welche unser Gehirn eh selbsttätig und meist mühelos vornimmt.
Je mehr Informationen zur Verfügung stehen, desto eher ist ein Verlust eben dieser zu verschmerzen. Youtube-Videos, so man sie irgendwann einmal geladen bekommt:(, enthalten kaum Bildinformationen, zumindest nicht genug, um eine wirkliche Verbesserung herbeizuführen.

Mastermind@Glückskind
2007-07-24, 16:35:16
Als Zwischenlösung könnte ich mir aber folgendes Vorstellen: Da es Festplattenrekorder gibt und die HD-Player meist brauchbare Prozzies haben um die Filme decodieren zu können, wäre es denkbar einen SD-Film, den man am nächsten Tag schauen will, über Nacht auf HD zu encoden. Das muss dann nicht in Echtzeit sein, kann mehrere Passes haben und müsste ja jedenfalls besser aussehen, als das was heutige Scaler zustande bringen. Außerdem stelle ich mir vor, dass in Zukunft evtl. für solche Programme spezielle Configs erscheinen oder erstellt werden. Kleine Textfiles mit einigen Infos zur Konfiguration und richtigem Verhalten bei den jeweiligen Frames, sodass die Möglichkeiten des Gerätes optimal an die Anforderungen des jeweiligen Filmes angepasst werden. :smile:

robbitop
2007-07-24, 17:54:49
Das ginge mit Sicherheit auch in Echtzeit. Man nehme einen dicken Streamprozessor oder giesse (noch besser) den Kram in Hardware.
Zumindest mittelfristig. Ich frage mich sowieso, warum die Skalierung von bsw DScaler und ffdshow rein ueber die CPU laufen. D3D10 GPUs sind flexibel genug fuer den Kram.

Mastermind@Glückskind
2007-07-24, 18:15:31
Das ginge mit Sicherheit auch in Echtzeit. Man nehme einen dicken Streamprozessor oder giesse (noch besser) den Kram in Hardware.
Zumindest mittelfristig. Ich frage mich sowieso, warum die Skalierung von bsw DScaler und ffdshow rein ueber die CPU laufen. D3D10 GPUs sind flexibel genug fuer den Kram.
Klar, aber das Problem ist ja bei Hardware-Implementationen immer, dass man großen Absatz braucht, um pro Chip kostengünstig produzieren zu können. Dass solche Dinge hervorragend in HW gemacht werden können, dafür gibts tatsächlich viele Beispiele. Z.B. der Chip, der mit einem winzigen Leistungshunger (1W oder so) in der Lage ist HD-Filme in Echtzeit zu dekodieren und ich glaube sogar auch in Echtzeit zu encodieren. Entsprechend einfach ist dann auch die Kühlung. Schon klasse sowas. :smile:

Und D3D10-GPUs sind wohl noch nicht weit genug verbreitet, als dass den Machern der Codecs die Mehrarbeit sinnvoll erscheinen würde. :frown:

Gast
2007-07-24, 19:56:38
Kleine Textfiles mit einigen Infos zur Konfiguration und richtigem Verhalten bei den jeweiligen Frames, sodass die Möglichkeiten des Gerätes optimal an die Anforderungen des jeweiligen Filmes angepasst werden. :smile:


sinnlos, 99% der user wollen auf das knöpfchen drücken und es muss laufen, kaum jemand wird bereit sein sich genügend damit zu beschäftigen um das ganze zu konfigurieren.