æåã®èšäºã§ã¯ãæãæåããæèžåã®1ã€ãéžæããŸãããããã¯ããã£ãªããã¹ã®Ambilightã®HDMIãã¹ã¹ã«ãŒã¢ããã°ã§ããä»åŸããã®æ§æããAtmosvetããšåŒã³ãŸãã
ã¯ããã«
ã€ã³ã¿ãŒãããäžã§ãPCããç»åã衚瀺ããå Žåãã¢ãã¿ãŒ/ãã¬ãçšã®Ambilightãäœæããæ¹æ³ã«é¢ããæ¢è£œã®/ãªãŒãã³ãªãœãªã¥ãŒã·ã§ã³ãšèšäºãèŠã€ããããšã¯ããã»ã©é£ãããããŸããã ããããç§ã®ãã«ãã¡ãã£ã¢ã·ã¹ãã ã§ã¯ãPCãããã¬ãã«ç»åãåºåããã®ã«äœ¿çšããæéã¯ãã£ã5ïŒ ã§ãã²ãŒã ã³ã³ãœãŒã«ãããã¬ã€ããæéãå¢ããŸããã€ãŸããèªåã§äœããèãåºãå¿ èŠããããŸããã
ãœãŒã¹ããŒã¿ïŒ
- 60 "ãã©ãºãTV
- Asrock Vision 3D 137Bã«åºã¥ãHTPC
- Xbox 360
- PS3
- PS4
- WiiU
ã»ãšãã©ã®ããã€ã¹ã¯ã HDCPã䜿çšããŠãåçäžã§ãã³ã³ãã³ããåçããŸãã
èŠä»¶ïŒ
TVã«æ¥ç¶ãããŠãããã¹ãŠã®ããã€ã¹ã«å¯ŸããŠAtmosvetã®éäžãµããŒããæäŸããå¿ èŠããããŸãã
å®è£
4.5mã®LEDã¹ããªããããã¬ãã«åãä»ããæ¹æ³ãšArduinoã§äœãããå¿ èŠããããã«ã€ããŠã¯èª¬æããŸããã ãã®èšäºãããŒã¹ãšããŠäœ¿çšã§ããŸãã
å¯äžã®æ³šæäºé ïŒ
ç»é¢ã®äžéšã«å¥åŠãªã¡ãã€ããããããšã«æ°ã¥ããŸãããæåã«ãã¹ãããŠãdeflayerãéžã³çŽããç»åã®ãµã€ãºå€æŽãå€æŽãããã¹ãŠã®ãã®ãæãäžããŸããããããã¯è¯ããªããŸããããã¡ãã€ãã®å©ãã«ã¯ãªããŸããã§ããã ç§ã¯èŠ³å¯ãå§ããŸããã ã¡ãã€ãã¯ããŒãã®æåŸã§ãããªãããã®åŸã¯é®®æãªã·ãŒã³ã§ããã ãã«ãã¡ãŒã¿ãŒã䜿çšããŠãããŒãã®å§ããäžéãããã³çµããã§é»å§ã枬å®ããã¡ãã€ãã®åå ãæšæž¬ããŸããïŒããŒãã®å§ãã§4.9VïŒã¯ããäžåœã®PSUã¯åå·®ã®ããé»å§ãäžããŸããããã¯éèŠã§ã¯ãããŸããïŒã4.52ã®çµããã§4.22-é»å§éäžã倧ããããŸããç§ã¯åçŽã«åé¡ã解決ããªããã°ãªããŸããã§ãã-ããŒãã®éäžã§ãPSUããã®é»åãåèšããã±ãŒãã«ããã¬ãã®åŸãã«éããŸããã ããã¯å³åº§ã«åœ¹ç«ã¡ãã¡ãã€ãã¯å®å šã«æ¢ãŸããŸããã
ãŠã§ãã«ã¡ã©ã§åçããã£ããã£ãã
ã¢ã€ãã¢ãšãã®èŠèŠåãå®è¡ããããã®æåã®ãã¹ãããŒãžã§ã³ã¯ãWebã«ã¡ã©ã§ç»åããã£ããã£ããããšã§éžæãããŸããïŒã次ã®ããã«ãªããŸããã
äœã¬ã³ããªã³ã°ãšé«ã¬ã€ãã³ã·ã¯ããã®å®è£ ããããªãæ¹æ³ã§ã䜿çšã§ããªãããšã瀺ããŸããã
HDMIãä»ããç»åã®ãã£ããã£
å¯èœãªãªãã·ã§ã³ãæ€èšããéçšã§ãæãä¿¡é Œæ§ã®é«ãäºç®ãšããŠæ¬¡ã®ã¹ããŒã ãéžæãããŸããã
- ãã¹ãŠã®ããã€ã¹ããã®ä¿¡å·ã¯ãHDCPããµããŒããã5in-1out HDMIã¹ã€ããã«äŸçµŠãããŸã
- åºåä¿¡å·ã¯ãHDCPããµããŒãããã ãã§ãªããåºåã§ãªãã«ãã1in-2out HDMIã¹ããªãã¿ãŒã«äŸçµŠãããŸãïŒäžåœèªã®ãããã§ãïŒã
- åºåä¿¡å·ã®1ã€ããã¬ãã«éãããŸã
- å¥ã®åºåã¯HDMIããAVã³ã³ããŒã¿ãŒã«éãããŸã
- Sãããªä¿¡å·ã¯ICONBITãããã£ããã£ããã¯ã¹ã«éãããŸã
- ãã£ããã£ããã¯ã¹ã¯ãUSBãä»ããŠåžžæ皌åããHTCPã«æ¥ç¶ãããUSBã¯TVäžã®Arduinoã³ã³ãããŒã©ãŒããŒãã«æ¥ç¶ãããŠããŸãã
æåã¯ã¯ã€ã«ãã§æŸèæã®ããã«èŠããŸããã
- åäœããŸãã
- åèšãããšãäžåœããã®æ³šæã§ããã®ãã¹ãŠãç§ã«3-4åã«ãŒãã«ããããŸããã
HDMIãã£ããã£ã«ããŒãã䜿çšããªãã£ãã®ã¯ãªãã§ããïŒ ããã¯ç°¡åã§ãïŒæãå®äŸ¡ãªãªãã·ã§ã³ãšæé ãªäŸ¡æ Œã¯Blackmagic Intensity Shuttleã§ããã1080p / 60fpsã®ä¿¡å·ã§ã¯åäœããã1080p / 30fpsã§ã®ã¿åäœããŸã-ããã¯åãå ¥ããããŸãã åçããã£ããã£ã§ããããã«ããã¬ãŒã ã¬ãŒããäžããããããŸããã§ããã +ãã®ã±ãŒã¹ã®è²»çšã¯çŽ1äžã§ãã ã«ãŒãã«ã -å®äŸ¡ã§ã¯ãªããçµæã¯äžæã§ãã
HDMIããSãããªãžã®å€æã®æ倱ã¯ã46x26 LEDããã¯ã©ã€ãã®è§£å床ã§ã«ã©ãŒããã£ããã£ããå Žåã«ã¯éèŠã§ã¯ãããŸããã
æåã¯EasyCapã䜿çšããŠSãããªããã£ããã£ããããšããŸããïŒäžåœèªã®ããªãšãŒã·ã§ã³ãå€æ°ãããŸãïŒãããã€ã³ãã¯äœ¿çšããããããéåžžã«æ²æšã§ãããopenCVã䜿çšããŠæäœã§ããªãããšã§ãã
å¯äžã®ãã€ãã¹ã¯ãSãããªåºåä¿¡å·ã®ãšããžã«é»ãããŒãå«ãŸããŠãããå®éã®ã³ã³ãã³ãïŒçŽ2ã5ïŒ ïŒãã«ãããããŠããããšã§ãããã£ããã£ã«ãŒãããåºåç»åãã«ããããŠãããã®ãã³ããåé€ããŸãããããããã®é åã®ç»åã®æ倱ã¯å®éã®çµæã«åœ±é¿ããŸããã§ããã
ãœãã
ç§ã«ãšã£ãŠããã¯æãèå³æ·±ãéšåã§ããããªããªã éçã§ãç§ã¯æ¬åœã«åšããçªãã®ã奜ãã§ã¯ãããŸããã
ç»åããã£ããã£ããããã«ã openCV ãç¹ã«ãã®.NETã©ãããŒemgu CVã䜿çšããŸãã ã
ãŸããã³ã³ãããŒã©ãŒã«è²ã®ãªã¹ããæž¡ãåã«ãç»åãåŸåŠçããŠæºåããããã®ããã€ãã®ç°ãªãææ³ãé©çšããããšã«ããŸããã
ãã¬ãŒã åŠç
1.ãã£ããã£ããããã¬ãŒã ãååŸãã
2.ãã¬ãŒã ãåãåã£ãŠé»ãããŒãé€å€ããŸã
ããã§ã¯ãã¹ãŠãç°¡åã§ãïŒ
frame.ROI = new Rectangle(8, 8, frame.Width - 8, frame.Height - 18 - 8);
äžéšãã8ãã¯ã»ã«ãå³åŽãã8ãã¯ã»ã«ãäžéšãã18ãã¯ã»ã«ãããªãã³ã°ããŸãïŒå·ŠåŽã«ã¹ããªããã¯ãããŸããïŒã
3.ããã¯ã©ã€ãã®è§£å床ã§ãã¬ãŒã ã®ãµã€ãºãå€æŽããŸããå¥åº·çãªåçãæã¡æ©ãå¿ èŠã¯ãããŸããã
ããã»ã©è€éãªããšã¯ãããŸãããopenCVããŒã«ã䜿çšããŠè¡ããŸãã
frame.ResizeïŒLedWidth-2 * LedSideOverEdgeã
LedHeight-LedBottomOverEdge-LedTopOverEdgeã
INTER.CV_INTER_LINEARïŒ;
泚ææ·±ãèªè ã¯ãè±å¯ãªå€æ°ã«æ°ä»ãã§ãããã å®éãç§ã®ãã¬ããã¬ãŒã ã¯ååã«å€§ãããåŽé¢ã«1åãäžéšã«1åãäžéšã«3åã®LEDãå æããŠããããããµã€ãºå€æŽã¯ãã£ã¹ãã¬ã€ã®çåããã®LEDã§è¡ãããåŸã§ã³ãŒããŒãè£å®ããŸãã ãµã€ãºå€æŽãããšããLEDã®ãã¯ã»ã«ãæã€ã¹ãå¹³åè²ãååŸããŸãã
4.ã«ãããã¬ãŒã ããLEDã®ãããã³ã°ãå®è¡ããŸã
ããŠãããã§ãããã¹ãŠãç°¡åã§ããããããã®åŽã§æãã«è¡ãã136åã®å€ã®é åãLEDã®è²ã§é çªã«åããŠãããŸãã çŸæç¹ã§ã¯ãä»ã®ãã¹ãŠã®æäœã¯ãåŠçãé£ãããã¬ãŒã ã䜿çšããããããLEDã¢ã¬ã€ã䜿çšããæ¹ãç°¡åã§ãã ãŸããå°æ¥çã«ã¯ããã£ããã£æ·±åºŠãã©ã¡ãŒã¿ãŒïŒLEDã®è²ãå¹³åããããã®ç»é¢å¢çããã®ãã¯ã»ã«æ°ïŒãè¿œå ããŸããããæçµçãªã»ããã¢ããã§ã¯ããããªãã§ããè¯ãããšãå€æããŸããã
5.è²è£æ£ãå®è¡ããŸãïŒãã¯ã€ããã©ã³ã¹/ã«ã©ãŒãã©ã³ã¹ïŒ
ç§ãããŒã ããæã£ãŠãããã¬ãã®åŸãã®å£ãããŒã ã¯é»è²ãªã®ã§ãé»è²ããè£ãå¿ èŠããããŸãã
var blue = 255.0f /ïŒ255.0f + blueLevelFloatïŒ* pixelBuffer [k];
var green = 255.0f /ïŒ255.0f + greenLevelFloatïŒ* pixelBuffer [k + 1];
var red = 255.0f /ïŒ255.0f + redLevelFloatïŒ* pixelBuffer [k + 2];
å®éãç§ã¯æåã«ããã€ãã®ãªãŒãã³ãœãŒã¹ãšãã£ã¿ãŒã®ãœãŒã¹ããã«ã©ãŒãã©ã³ã¹ãåããŸããããçœãå€æŽããïŒçœã¯çœã®ãŸãŸïŒãåŒãå°ãå€æŽããŠå°å°ããå¿ èŠãªãã®ãçŽæ¥ååŸããŸããïŒè²æåã®ã¬ãã«ãè² ã®å ŽåïŒãã®è²ã¯ååã§ã¯ãããŸããïŒããã®åŒ·åºŠãè¿œå ããéãåæ§ã§ãã ç§ã®å£ã§ã¯ãRGBïŒ-30.5.85ïŒã§æ©èœããŸããã
è²è£æ£ã§ã¯ãåã³ã³ããŒãã³ããã13ãæžç®ããã ãã§ãé»ã®ã¬ããªã³ã°ãè¡ããŸãïŒé»ã¯RGBã§13.13.13ååŸã«ãªããŸãïŒã
6.圩床ãäžããïŒç»åã®åœ©åºŠãäžããïŒ
æçµçãªã»ããã¢ããã§ã¯ã圩床äœäžã¯äœ¿çšããŸããããããæç¹ã§å¿ èŠã«ãªãå ŽåããããŸããå®éã«ã¯ããã£ãªããã¹ã¢ã³ãã©ã€ãã®ããã«è²ãããããã¹ãã«ãã«ããŸãã ã³ãŒãã¯æäŸããŸãããåã«RGB-> HSLããå€æãã圩床ã³ã³ããŒãã³ãïŒåœ©åºŠïŒãæžãããRGBã«æ»ããŸãã
7.ã¡ãã€ã
ãããã£ãŠãå ¥åç»åããæºããŠãããããšãããããŸããããã¯ãã¢ããã°ä¿¡å·ãžã®å€æã®çµæã ãšæããŸãã æåã¯èªåã®ããæ¹ã決ããããšããŸããããVirtualDubã§äœ¿çšãããŠããDeflikerãã£ã«ã¿ãŒã®ãœãŒã¹ã調ã¹ãCïŒã§æžãçŽããŸããïŒC ++ã§ããïŒãæ©èœããªãããšãããããŸãããçµå±ãç§ã¯æ±ºå®ãšãã®ããã¬ã¢ãçµã¿åãããŠãå¥åŠãªäœããåŸãŸããããäºæ³ä»¥äžã«ããŸãæ©èœããŸããã æåã®deflayerã¯ãã¬ãŒã å šäœã®åŒ·åºŠã§ã®ã¿æ©èœããåLEDãåå¥ã«å¿ èŠã§ãã åæãã©ã€ãµãŒã¯åŒ·åºŠã®å€åãåèšãšããŠæ¯èŒããŸããããè²ãã¯ãã«ã®é·ãã®æ¯èŒã奜ãã§ããåæãã©ã€ãµãŒã¯åã®ãã¬ãŒã ãšæ¯èŒãã匷床ã®å€åã®ãã«ã¿ãæ¯èŒããŸããããããã¯é©åãããåã®ãã¬ãŒã ã®ãŠã£ã³ããŠå ã®åŒ·åºŠã®å¹³åå€ã«å€æããŸããã ãããŠãä»ã®å€ãã®ããããªããšããã®çµæãæåã®ããã¬ã€ãŒã«ã¯ã»ãšãã©æ®ã£ãŠããŸããã
äž»ãªã¢ã€ãã¢ïŒåã®ãã¬ãŒã ã®å¹³å匷床ããé²ãã§ã匷床ãç¹å®ã®ãããå€ïŒ25ã®æçµèšå®ã§ãã®ãããå€ãæã£ãŠããïŒãè¶ ããŠããªãå ŽåãçŸåšã®ãã¬ãŒã ãå€æŽããŸãããããå€ãè¶ ãããšããŠã£ã³ããŠã¯å€æŽãªãã«ãªã»ãããããŸãã
deflicerã®ã³ãŒããå°ãïŒã³ã³ããã¹ãããèªã¿ãããããããã«ïŒå€æŽããŸããïŒ
Array.Copy(_leds, _ledsOld, _leds.Length); for (var i = 0; i < _leds.Length; i++) { double lumSum = 0; // Calculate the luminance of the current led. lumSum += _leds[i].R*_leds[i].R; lumSum += _leds[i].G*_leds[i].G; lumSum += _leds[i].B*_leds[i].B; lumSum = Math.Sqrt(lumSum); // Do led processing var avgLum = 0.0; for (var j = 0; j < LedLumWindow; j++) { avgLum += _lumData[j, i]; } var avg = avgLum/LedLumWindow; var ledChange = false; if (_strengthcutoff < 256 && _lumData[0, i] != 256 && Math.Abs((int) lumSum - avg) >= _strengthcutoff) { _lumData[0, i] = 256; ledChange = true; } // Calculate the adjustment factor for the current led. var scale = 1.0; int r, g, b; if (ledChange) { for (var j = 0; j < LedLumWindow; j++) { _lumData[j, i] = (int) lumSum; } } else { for (var j = 0; j < LedLumWindow - 1; j++) { _lumData[j, i] = _lumData[j + 1, i]; } _lumData[LedLumWindow - 1, i] = (int) lumSum; if (lumSum > 0) { scale = 1.0f/((avg+lumSum)/2); var filt = 0.0f; for (var j = 0; j < LedLumWindow; j++) { filt += (float) _lumData[j, i]/LedLumWindow; } scale *= filt; } // Adjust the current Led. r = _leds[i].R; g = _leds[i].G; b = _leds[i].B; // save source values var sr = r; var sg = g; var sb = b; var max = r; if (g > max) max = g; if (b > max) max = b; double s; if (scale*max > 255) s = 255.0/max; else s = scale; r = (int) (s*r); g = (int) (s*g); b = (int) (s*b); // keep highlight double k; if (sr > _lv) { k = (sr - _lv)/(double) (255 - _lv); r = (int) ((k*sr) + ((1.0 - k)*r)); } if (sg > _lv) { k = (sg - _lv)/(double) (255 - _lv); g = (int) ((k*sg) + ((1.0 - k)*g)); } if (sb > _lv) { k = (sb - _lv)/(double) (255 - _lv); b = (int) ((k*sb) + ((1.0 - k)*b)); } _leds[i] = Color.FromArgb(r, g, b); } /* Temporal softening phase. */ if (ledChange || _softening == 0) continue; var diffR = Math.Abs(_leds[i].R - _ledsOld[i].R); var diffG = Math.Abs(_leds[i].G - _ledsOld[i].G); var diffB = Math.Abs(_leds[i].B - _ledsOld[i].B); r = _leds[i].R; g = _leds[i].G; b = _leds[i].B; int sum; if (diffR < _softening) { if (diffR > (_softening >> 1)) { sum = _leds[i].R + _leds[i].R + _ledsOld[i].R; r = sum/3; } } if (diffG < _softening) { if (diffG > (_softening >> 1)) { sum = _leds[i].G + _leds[i].G + _ledsOld[i].G; g = sum/3; } } if (diffB < _softening) { if (diffB > (_softening >> 1)) { sum = _leds[i].B + _leds[i].B + _ledsOld[i].B; b = sum/3; } } _leds[i] = Color.FromArgb(r, g, b); }
_ledsãColorã¯ã©ã¹ã®LEDé åã_ledsOldãå€æåã®ãã¬ãŒã å€ãLedLumWindowãåã®ãã¬ãŒã ã®ãŠã£ã³ããŠå¹ ãšãã匷床ã®å¹³åå€åãæšå®ããããã«ãæçµã»ããã¢ããã§100ã®ãŠã£ã³ããŠããããããã¯çŽ30fpsã§3ç§ã«çžåœããŸãã _lumData-åã®ãã¬ãŒã ã®åŒ·åºŠå€ã®é åã
æçµçã«ããã®ã¡ã«ããºã ã¯åçã«äºæããªãçµæããããããŸããèŠèŠçã«ã©ã®ããã«ç¥èŠããããã説æããããšã¯å°é£ã§ããããã€ãããã¯ã³ã³ãã©ã¹ãã®ããã«å¿ èŠã«å¿ããŠæããå¿ èŠã«å¿ããŠæããããŸãã çµæãšããŠã®ããã¬ãã«ãŒã®ç®çã¯åºããã¡ãã€ããæé€ããã ãã§ãªãããŠã£ã³ããŠå ã®ã³ã³ããŒãã³ããšæéã®äž¡æ¹ã®ç¹ã§ã衚瀺ãããè²ã®å šäœçãªãã©ã³ã¹ãåããŸããã
8.é£ã®LEDãå¹³æ»åããŸãã
äžè¬ã«ãæçµçãªã»ããã¢ããã§ã¯ãã¹ã ãŒãžã³ã°ãããŸã奜ãã§ã¯ãªãã£ãã®ã§ãªãã«ããŸããããå Žåã«ãã£ãŠã¯äŸ¿å©ã«ãªããŸãã ããã§ã¯ãåLEDã®è²ããã®é£æ¥ãããã®ãšåçŽã«å¹³åããŠããŸãã
var smothDiameter = 2*_smoothRadius + 1; Array.Copy(_leds, _ledsOld, _leds.Length); for (var i = 0; i < _ledsOld.Length; i++) { var r = 0; var g = 0; var b = 0; for (var rad = -_smoothRadius; rad <= _smoothRadius; rad++) { var pos = i + rad; if (pos < 0) { pos = _ledsOld.Length + pos; } else if (pos > _ledsOld.Length - 1) { pos = pos - _ledsOld.Length; } r += _ledsOld[pos].R; g += _ledsOld[pos].G; b += _ledsOld[pos].B; } _leds[i] = Color.FromArgb(r/smothDiameter, g/smothDiameter, b/smothDiameter); }
9.çŸåšã®ç¶æ ãä¿åããŠããã±ããéä¿¡ã¹ã¬ãããååŸããŠããã¯ã©ã€ãã³ã³ãããŒã©ãŒã«éä¿¡ããããã«ããŸãã
ãã¬ãŒã ãåŠçããã³ã³ãããŒã©ã«ãã±ãããéä¿¡ããããã»ã¹ãæå³çã«åå²ããŸããïŒArduinoãåã®ãã±ãããåŠçã§ããããã«ããã±ããã¯ç¹å®ã®ééïŒ40ããªç§ïŒã§1åéä¿¡ãããŸãããã®ããã»ã¹ããã£ããã£ããå¹²æžããŸããïŒãã ãããã±ããã®éä¿¡ã«ãæéãããããŸãïŒã
Arduinoã«ã€ããŠå°ã
倧éã®ããã±ãŒãžãArduinoã«åã蟌ãã§éä¿¡ããããšã¯ã§ããŸãããããã¯ãããã©ã«ãã®HardwareSerialãããã¡ãŒãè¶ ããŠããŸããçµããã倱ãããã§ãã
ããã¯éåžžã«ç°¡åã«è§£æ±ºãããŸããHardwareSerialãããã¡ãŒã®ãµã€ãºããéä¿¡ããããã±ããå šäœãè²ã®é åã§åãŸã倧ããã«èšå®ããŸããç§ã«ãšã£ãŠã¯ã410ã§ãã
UI
ãœãããŠã§ã¢èªäœã¯winãµãŒãã¹ãšããŠå®è£ ããããã¹ãŠã®ãã©ã¡ãŒã¿ãŒãèšå®ããŠæå¹å/ç¡å¹åããããã«ããµãŒãã¹ã®WebServiceãä»ããŠãµãŒãã¹ã«æ¥ç¶ããWeb UIãäœæããŸããã ã¢ãã€ã«ç»é¢ã®æçµçãªã€ã³ã¿ãŒãã§ãŒã¹ã¯æ¬¡ã®ããã«ãªããŸãã
次ã«ãHTCPã«æ¥ç¶ãããKinect for Windowsãä»ããŠé³å£°ã³ã³ãããŒã«ããã蟌ãäºå®ã§ãã
çµæ
ãã®çµæãçµæã¯ãã¹ãŠã®æåŸ ãæºãããä»ã§ã¯ã³ã³ãœãŒã«ã§ã²ãŒã ããã¬ã€ããããšã§ãã²ãŒã ã®é°å²æ°ã«ããã«æ²¡é ã§ããŸãã
ä»äºã®äžè¬çãªçµæãšããŠãç§ã¯ç§ã®ã¹ããŒã ã«åŸã£ãŠå€§æ°ã®ä»äºã§ãããªãèšé²ããŸããïŒ
ãã¹ããµã³ãã«1ïŒäžæµ·ã§ã®æŠéã·ãŒã³ã§ãããã·ãã£ãã¯ãªã ããã®æ ç»ã¯ããã¹ããšãã¢ãå€ãã®é®®æãªã·ãŒã³ãšãã©ãã·ã¥ãèœé·ãªã©ã«é©ããŠããŸãã
ãã¹ããµã³ãã«2ïŒYouTubeããããŒãžãããMLPã®ããçš®ã®ãããªã¯ãæããè²ã®ã·ãŒã³ïŒã¹ãã©ã€ãã奜ãïŒã®ãã¹ãããå€åã®éãã·ãŒã³ïŒãããªã®æåŸã§ããããªã§ã®ã¿è¡šç€ºãããé 延ã®çµæãèŠãããšãã§ããŸãïŒã«éåžžã«é©ããŠããŸãããã®å®éã®èŠèŽã¯ç®ç«ã¡ãŸãããç§ã¯ãããªã§é 延ã枬å®ããããšããŸãã-ããã¯10-20msã«ãªããŸããïŒïŒ
æåŸã«ãHTPCããã®ãªãœãŒã¹æ¶è²»ã«ã€ããŠæ³šæãã䟡å€ããããŸãã
HTPC i3ââã§ASRock Vision 3Dã䜿çšããŠããŸããã倧æ°ãµãŒãã¹ã¯CPUãš32MB RAMã®5ã10ïŒ ãæ¶è²»ããŸãã
ãæž èŽããããšãããããŸãããç§ã®èšäºã誰ãã«åœ¹ç«ã€ããšãæ¬åœã«é¡ã£ãŠããŸãã