Προς το περιεχόμενο

Nvidia GT300 & ATI RV870


Thresh

Προτεινόμενες αναρτήσεις

Δημοσ.

Διαφωνώ με το όρο 'απλό' - offset, καθώς και τον 3D ;-) Αντιλαμβάνομαι απόλυτα το τι λες παραπάνω - καθώς και τους παιδαριώδεις απλούς αλγόριθμους για στερεοσκοπικό. Όταν λέω ας μελετήσουμε τους αλγόριθμους εννοώ τους 'εξελιγμένους' αυτούς που χρησιμοποιεί η nV το pDVD etc. Αν δουλεύουν με κάτι το τόσο απλό όσο ένα fixed offset, πραγματικά τα προβλήματα που δημιουργούν είναι περισσότερα από όσα λες παραπάνω.

  • Απαντ. 2,9k
  • Δημ.
  • Τελ. απάντηση
Δημοσ.

Εξακολουθώ να μην καταλαβαίνω τι σόι 3D θα είναι αυτό

 

Σε εικόνα που δεν είναι 3D θα μπορούσαν να εφαρμοσθούν τεχνικές για ανάκτηση μέρους τη πληροφορίας του βάθους αλλά εσύ δε μιλάς για κάτι τέτοιο.

 

Θα μπορούσε πχ να φτιαχτεί ένας αλγόρυθμος που να μαντεύει χονδρικά και με ελάχιστη ακρίβεια το τι είναι μακρυά και τι κοντά με βάση το μέγεθος, τη θέση, το χρώμα, την φωτεινότητα, την κίνηση και άλλων χαρακτηριστηκών ενός συνόλου pixel τα οποία θα μπορούσε με τα ίδια σχεδόν κριτήρια να ομαδοποιήσει στο πολύ περίπου αλλά δεν περιμένω για το PowerDVD να έφτιαξαν κάτι τέτοιο

Δημοσ.
Διαφωνώ με το όρο 'απλό' - offset, καθώς και τον 3D ;-) Αντιλαμβάνομαι απόλυτα το τι λες παραπάνω - καθώς και τους παιδαριώδεις απλούς αλγόριθμους για στερεοσκοπικό. Όταν λέω ας μελετήσουμε τους αλγόριθμους εννοώ τους 'εξελιγμένους' αυτούς που χρησιμοποιεί η nV το pDVD etc. Αν δουλεύουν με κάτι το τόσο απλό όσο ένα fixed offset, πραγματικά τα προβλήματα που δημιουργούν είναι περισσότερα από όσα λες παραπάνω.

 

 

ρε συ εδω βαζουν χρωμα σε ασπρομαυρες ταινιες μια χαρα βαζουν και τριτη διασταση....μη σου πω και τεταρτη :P

Δημοσ.

http://3dvision-blog.com/2d-to-3d-realtime-video-conversion-script-for-avisynth-v0-3/

 

Η Nvidia δεν έχει αλγόριθμο για τις ταινίες. Όταν μίλησα για το 3D Vision, εννοούσα τα διάφορα scripts που υπάρχουν όπως το παραπάνω. Καλό διάβασμα στον κώδικα ;) (και θα καταλάβεις όλα όσα σου περιέγραψα, θα δεις δε ότι μιλάμε για απλό offset και καθορίζεται στην αρχή ο βαθμός του βάθους)

 

Το PowerDVD λογικά θα χρησιμοποιεί παρόμοιο αλγόριθμο. Καλό είναι δε, πέρα από τις πεποιθήσεις του καθενός, να το δείτε πρώτα in-action. Γιατί μιλάτε για προβλήματα και τραγικά αποτελέσματα, χωρίς καν να τα έχετε δει.

 

Σε εικόνα που δεν είναι 3D θα μπορούσαν να εφαρμοσθούν τεχνικές για ανάκτηση μέρους τη πληροφορίας του βάθους αλλά εσύ δε μιλάς για κάτι τέτοιο.

 

Μια εικόνα διαθέτει πληροφορίες RGB για κάθε pixel (και συντεταγμένες Χ-Υ για την θέση του κάθε pixel). Δεν υπάρχει πουθενά αποθηκευμένη συντεταγμένη για Ζ, οπότε κατευθείαν ακυρώνεται το πόσο depth πρέπει να έχει το pixel που είναι παραπέρα ώστε να είναι 'ρεαλιστικό' το τελικό 3D image του. Google it (μην μπερδέψεις το color system 'XYZ' με τους άξονες x-y-z .

Δημοσ.
ρε συ εδω βαζουν χρωμα σε ασπρομαυρες ταινιες μια χαρα βαζουν και τριτη διασταση....μη σου πω και τεταρτη :P

 

Τελείως διαφορετικό πρόβλημα.

 

---------- Προσθήκη στις 18:20 ---------- Προηγούμενο μήνυμα στις 18:18 ----------

 

http://3dvision-blog.com/2d-to-3d-realtime-video-conversion-script-for-avisynth-v0-3/

 

Η Nvidia δεν έχει αλγόριθμο για τις ταινίες. Όταν μίλησα για το 3D Vision, εννοούσα τα διάφορα scripts που υπάρχουν όπως το παραπάνω. Καλό διάβασμα στον κώδικα ;) (και θα καταλάβεις όλα όσα σου περιέγραψα, θα δεις δε ότι μιλάμε για απλό offset και καθορίζεται στην αρχή ο βαθμός του βάθους)

 

PS: Το PowerDVD λογικά θα χρησιμοποιεί παρόμοιο αλγόριθμο. Καλό είναι δε, πέρα από τις πεποιθήσεις του καθενός, να το δείτε πρώτα in-action. Γιατί μιλάτε για προβλήματα και τραγικά αποτελέσματα, χωρίς καν να τα έχετε δει.

 

Ευχαριστώ για το link.

Το έγραψα παραπάνω ότι ναι θα χρειαστώ ένα demo - για να έχω καλύτερη άποψη.

Δημοσ.
Τελείως διαφορετικό πρόβλημα.

 

ε οχι ακριβως. διαβαθμισεις του greyscale στη μια, διαβαθμισεις βαθους στη αλλη. υπαρχει μια αναλογια αμα το δεις με λιγο abstraction

Δημοσ.
Εξακολουθώ να μην καταλαβαίνω τι σόι 3D θα είναι αυτό

 

Σε εικόνα που δεν είναι 3D θα μπορούσαν να εφαρμοσθούν τεχνικές για ανάκτηση μέρους τη πληροφορίας του βάθους αλλά εσύ δε μιλάς για κάτι τέτοιο.

 

Θα μπορούσε πχ να φτιαχτεί ένας αλγόρυθμος που να μαντεύει χονδρικά και με ελάχιστη ακρίβεια το τι είναι μακρυά και τι κοντά με βάση το μέγεθος, τη θέση, το χρώμα, την φωτεινότητα, την κίνηση και άλλων χαρακτηριστηκών ενός συνόλου pixel τα οποία θα μπορούσε με τα ίδια σχεδόν κριτήρια να ομαδοποιήσει στο πολύ περίπου αλλά δεν περιμένω για το PowerDVD να έφτιαξαν κάτι τέτοιο

 

Ακριβώς υπάρχουν πολλοί αλγόριθμοι, και μάλιστα μπόλικα papers είδη από το '70 με διάφορες τεχνικές ανάκτησης βάθους (βάζω από το 70 καθώς τότε ασχοληθήκαν ενεργά αρκετοί με AI ρομποτική κ.ο.κ. και σχεδίασαν αλγόριθμους οι οποίοι να είναι και εύκολα υπολογίσιμοι σε computerized εφαρμογές). Κάθε μια με τα προβλήματα της - και καμία δεν υπόσχετε καλύτερη εικόνα από το original. Οι σχεδιαστές τους φυσικά και αντιλαμβάνονται τα όρια και τα προβλήματα των αλγορίθμων τους και θα βρείτε και papers που ασχολούνται τόσο ποσοτικά όσο και ποιοτικά με το αποτέλεσμα.

 

---------- Προσθήκη στις 18:29 ---------- Προηγούμενο μήνυμα στις 18:25 ----------

 

ε οχι ακριβως. διαβαθμισεις του greyscale στη μια, διαβαθμισεις βαθους στη αλλη. υπαρχει μια αναλογια αμα το δεις με λιγο abstraction

 

Για αυτό ακριβώς το χρώμα το αποφασίζει άνθρωπος... κάπου είχα δεί κάτι καταπληκτικά video που έδειχναν πως χρωμάτισαν τα video τη NASA στο φεγγάρι καθώς και το 'χοντρό&λιγνό'.

Αλλά ας επικεντρωθούμε στα στερεοσκοπικά για λίγο.

Δημοσ.

Για αυτό ακριβώς το χρώμα το αποφασίζει άνθρωπος... κάπου είχα δεί κάτι καταπληκτικά video που έδειχναν πως χρωμάτισαν τα video τη NASA στο φεγγάρι καθώς και το 'χοντρό&λιγνό'.

Αλλά ας επικεντρωθούμε στα στερεοσκοπικά για λίγο.

 

 

ε ναι το ξερω. ειναι επιπονη διαδικασια βεβαια να κατσεις για καθε frame και να υπολογιζεις το βαθος αντιστοιχα με το χρωμα. παντως το αποτελεσμα που θα παρεις θα ειναι παρομοιο that was my point...

Δημοσ.
ρε συ εδω βαζουν χρωμα σε ασπρομαυρες ταινιες μια χαρα βαζουν και τριτη διασταση....μη σου πω και τεταρτη :P
:lol:

Αυτό απορία το χω πώς το κάνουν. Παίζει να κάθονται να τα μπογιαντίζουν με το χέρι καρέ καρέ. Με τέτοιο τρόπο έυκολα κάνεις και 2D->3D:p

 

Πάντως δε θεωρώ το 3D και κανά τρελό breakthrough. Ακόμα ένα εφέ είναι

Το ανθρώπινο μυαλό δε χρειάζεται να του υποδείξει κανείς το βάθος, μιά χαρά το καταλαβαίνει κι απο μόνο του σε realtime με μηδαμινή προσπάθεια σε αντίθεση με οτιδήποτε τεχνητό

 

Μια εικόνα διαθέτει πληροφορίες RGB για κάθε pixel (και συντεταγμένες Χ-Υ για την θέση του κάθε pixel). Δεν υπάρχει πουθενά αποθηκευμένη συντεταγμένη για Ζ, οπότε κατευθείαν ακυρώνεται το πόσο depth πρέπει να έχει το pixel που είναι παραπέρα ώστε να είναι 'ρεαλιστικό' το τελικό 3D image του. Google it (μην μπερδέψεις το color system 'XYZ' με τους άξονες x-y-z .

Μια 3D εικόνα περιέχει το Z και αν δεν το περιέχει σαν ξεχωριστό κανάλι το περιέχει κωδικοποιημένο (η καλύτερα αποκωδικοποιημένο) σαν pixel offsets. Απο 3D εικόνα μπορεί να ανακτηθεί το z
Δημοσ.

 

αυτό κανει ένα απλό crop&resize μονο :eek:

 

:lol:

Αυτό απορία το χω πώς το κάνουν. Παίζει να κάθονται να τα μπογιαντίζουν με το χέρι καρέ καρέ. Με τέτοιο τρόπο έυκολα κάνεις και 2D->3D:p

Ναι με το χέρι το χρώμα, και απλά τους βοηθάει ένα 'κινούμενο magic wand tool' υπεραπλουστευμένα.

(η καλύτερα αποκωδικοποιημένο)

me likes :-)

Δημοσ.

Μια 3D εικόνα περιέχει το Z και αν δεν το περιέχει σαν ξεχωριστό κανάλι το περιέχει κωδικοποιημένο (η καλύτερα αποκωδικοποιημένο) σαν pixel offsets ανάμεσα στα καρέ. Απο 3D εικόνα μπορεί να ανακτηθεί το z

 

Σε εικόνα που δεν είναι 3D [/b']θα μπορούσαν να εφαρμοσθούν τεχνικές για ανάκτηση μέρους τη πληροφορίας του βάθους αλλά εσύ δε μιλάς για κάτι τέτοιο.

 

Διάλεξε επιτέλους τι θέλεις :o

 

Γενικά, η τεχνική που εφαρμόζεται στο 2D->3D conversion είναι το offset των εικόνων και το αποτέλεσμα είναι πάρα πολύ καλό. Θα πρέπει κοινώς να το δείτε πρώτα και μετά να πείτε αν σας άρεσε ή όχι (είναι παρόμοια φάση με τα παιχνίδια. Όλοι λένε ότι είναι πατάτα το 3D gaming... μέχρι να παίξουν το πρώτο τους :P). Δεν μίλησε κανείς για πραγματικό 3D (κάτι τέτοιο μην περιμένετε να γίνει. Δηλαδή κοντά στον νου κι η γνώση). Εντούτοις, το εν λόγω conversion είναι πολύ καλύτερο από το 2D. Απλά δοκιμάστε το ντε!

 

αυτό κανει ένα απλό crop&resize μονο :eek:

 

Βρες 3D Vision κι αν βλέπεις βάθος με αυτό το script, μου αγοράζεις έναν DLP projector, deal; (γιατί προφανώς σου ξέφυγαν οι γραμμές του κώδικα για το depth... η πλάκα είναι πως έχει και comments για να βλέπετε την όλη διαδικασία του convert :P );)

Δημοσ.
Διάλεξε επιτέλους τι θέλεις :o
Γιατί τι είπα;

Στην περίπτωση του 2D σου λέω δεν έχεις πληροφορία για το βάθος και μπορούν να γίνουν υπολογισμοί και να ανακτήσεις μαντευοντας μέρος τις πληροφορίας για το βάθος με τεράστιες αποκλίσεις ενώ στην 3D εικόνα η πληροφορία για το βάθος υπάρχει ήδη στην εικόνα έτοιμη για να την δείς και με σχετικά απλούς υπολογισμούς ανακτάς και την καθαρή πληροφορία του βάθους με αρκετή ακρίβεια

Δημοσ.

Βρες 3D Vision κι αν βλέπεις βάθος με αυτό το script, μου αγοράζεις έναν DLP projector, deal; (γιατί προφανώς σου ξέφυγαν οι γραμμές του κώδικα για το depth... η πλάκα είναι πως έχει και comments για να βλέπετε την όλη διαδικασία του convert :P );)

 

Βασικά αυτό τον κώδικα κοίταξα (απο το link), και δε βλέπω να κάνει και πολλά παραπάνω:

 

>## 2D to 3D Realtime Video Conversion Avisynth script v0.3b MultiThreading
## Made by Anton Belev at 3D Vision Blog
## http://www.3dvision-blog.com
## Additionally extended by Martin Haverland at audiomh.de for quality resize
## and different output modes including interlaced format for use in non-3d specific players e.g. windows media player.

## For this to work you need to have AviSynth with MT mod 0.7 installed!!!
SetMTMode(2,0)

## Open the video file for conversion, change the video file name
video2d = DirectShowSource("Avatar_Trailer_HD.avi")

## Increase video brightnes on dark videos, good for 3D Vision owners
# video2d = video2d.Tweak(Bright=10)

## Convert to RGB32 to avoid the width restrictions
video2d = ConvertToRGB32(video2d)

## Optional aspect ratio maintaining quality resize for 3d monitor target resolution.
## Very cpu intensive, may be for offline use only, e.g. in virtualdubmod.
## 2x 3.0ghz cpu may give you a framerate of 16fps while running the whole script in virtualdubmod including xvid compression in HDTV quality saving setting.
## Offers great quality in the result video for fullscreen playback in every .avs capable player later.
## Also reduces ghosting if the original file resolution is smaller than the target resolution.
# videoW = width(video2d)
# videoH = height(video2d)
## For 19" Zalman use 1280, for 22" Zalman Trimon it is 1680 etc.
# hzTargetSize = 1280
# video2d = Lanczos4Resize(video2d, hzTargetsize, hzTargetsize * videoH / videoW)
## Commenting out the above resizing maintains realtime capability!

## Get video width/height and set the frame stretch factor
## Lower the value 100 to increase frame stretch, may introduce ghosting
videoW = width(video2d)
videoH = height(video2d)
ResW = videoW + (videoW / 100)
CropW = (ResW - videoW) / 2

## Create variables for left and right frame with one frame difference
## This is the Plufrich-like simulation that creates illusion of depth from movement
f1 = video2d
f2 = DeleteFrame(video2d, 0)

## Stretch the right frame to further the depth effect
f1 = LanczosResize(f1, ResW, videoH)
f1 = Crop(f1, 0, 0, videoW, videoH)

## Stretch the left frame to further the depth effect
f2 = LanczosResize(f2, ResW, videoH)
f2 = Crop(f2, CropW, 0, videoW, videoH) 

## Output the two video frames in a side-by-side / parallel format
## Use this as a default for playing back on 3D Vision (Side by Side L/R)
StackHorizontal(f2, f1)

## Output the two video frames in a Above/Below format (like Sony?)
# StackVertical(f2,f1)

## Output the two video frames in a page flipping format for shutter glasses etc.
## The Tweak as proposed by eslave is for brighter image, modify the value 30
# f1 = f1.ConvertToYV12.Tweak(Bright=30)
# f2 = f2.ConvertToYV12.Tweak(Bright=30)
# Interleave(f2,f1)

## Output the two video frames in anaglyph red-cyan as proposed by eslave
# MergeRGB(f2.ShowRed, f1.ShowGreen, f1.ShowBlue)

## For reversed anaglyph i.e. cyan-red
# MergeRGB(f1.ShowRed, f2.ShowGreen, f2.ShowBlue)

## Output the two video frames in anaglyph yellow-blue as proposed by eslave (untested)
# f1 = f1.ConvertToYV12(matrix="PC.601").tweak(bright=12.5, sat=1.25, coring=false)
# f1 = f1.ConvertToRGB32
# f1 = f1.Levels(0, 1.05, 255, 0, 255, coring=false)
# MergeRGB(f2.ShowRed, f1.ShowGreen, f1.ShowBlue)

## Output the two video frames in anaglyph blue-Yellow as proposed by eslave (untested)
# f2 = f2.ConvertToYV12(matrix="PC.601").tweak(bright=12.5, sat=1.25, coring=false)
# f2 = f2.ConvertToRGB32
# f2 = f2.Levels(0, 1.05, 255, 0, 255, coring=false)
# MergeRGB(f1.ShowRed, f2.ShowGreen, f2.ShowBlue)

## Output two video frames in Interlaced mode
## Ueed for Zalman Trimon, Acer Aspire 3D etc.
# f1 = SeparateFields(f1)
# f1 = SelectEven(f1)
# f2 = SeparateFields(f2)
# f2 = SelectOdd(f2)
# interleave(f2,f1)
# AssumeFieldBased()
# weave()

 

Όσο για την DeleteFrame http://avisynth.org/mediawiki/DeleteFrame δε βλέπω κάτι περισσότερο από αυτό. Τεσπα, πρώτη φορά διαβάζω avisynth script και κάτι μπορεί να μου διαφεύγει.

Δημοσ.
Γιατί τι είπα;

Στην περίπτωση του 2D σου λέω δεν έχεις πληροφορία για το βάθος και μπορούν να γίνουν υπολογισμοί και να ανακτήσεις μαντευοντας μέρος τις πληροφορίας για το βάθος με τεράστιες αποκλίσεις ενώ στην 3D εικόνα η πληροφορία για το βάθος υπάρχει ήδη στην εικόνα έτοιμη για να την δείς και με σχετικά απλούς υπολογισμούς ανακτάς και την καθαρή πληροφορία του βάθους με αρκετή ακρίβεια

 

Όπως ακριβώς το είπες, μαντεύοντας. Δεν είναι υπολογισμός αυτός ('μπακαλίστικος' υπολογισμός ναι, είναι).

 

Άρα η 'μαντεψιά' ενός αλγόριθμου, ίσως εσένα σου φαίνεται λανθασμένη. Μπορεί ενός άλλου να είναι τέλεια για σένα. Και ξέρεις γιατί; Γιατί όταν δεις μια 2D εικόνα δεν ξέρεις την πραγματική απόστασή του Χ αντικειμένου από τον φακό (μπορεί να είχε γίνει με zoom-in το capture), οπότε μόνο υποθέσεις μπορείς να κάνεις και να κρατήσεις ότι αρέσει σε εσένα περισσότερο. Μπορεί να σου φέρουν δύο ταινίες, η μία που να είναι από αλγόριθμο και η άλλη από 3D κάμερα και να βγάλεις καλύτερη αυτήν από τον αλγόριθμο. Μα τόσα παραδείγματα υπάρχουν σε όλους τους τομείς (βλέπε από γεύση κρασιών ή κρεάτων (από εμπειρογνώμονες... ο Θεός να τους κάνει όταν δεν ξέρουν τι τρώνε και μαντεύουν πιο είναι καλύτερης ποιότητας βάση της γεύσης) μέχρι και χρωμάτων σε ταινίες).

 

Και για να μην αναλωνόμαστε στην θεωρεία, δανειστείτε από φίλο σας ένα 3D Vision kit, δοκιμάστε το script και αν δεν σας αρέσει το βάθος που προσδίδει στις ταινίες, ΟΚ. Δεκτόν. Μην συγκρίνετε προσπάθειες όμως με παλιές που ήταν απογοητευτικές.

 

Είναι σαν να συγκρίνει κάποιος το 3D Vision με τις 3D gaming λύσεις που είχαν κυκλοφορήσει πριν από 10 χρόνια και ήταν πατάτες ;)

 

PS: tmjuju, εγώ στο είπα εξαρχής ότι έχουμε να κάνουμε με offset images. Δες το ακριβώς από κάτω από το DeleteFrame. Και θα το ξαναπώ, πάρε από κάποιον γνωστό σου το 3D Vision και δοκίμασέ το ;)

 

## Output the two video frames in a side-by-side / parallel format

## Use this as a default for playing back on 3D Vision (Side by Side L/R)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...