nikq::cube

2006年08月の記事

<< 前のページ

2006年8月29日(火) 23:17

XVD decoder decompile

ついこの間出たXVD codecのサンプルページを見ていたら、
Javaで実装されたプレイヤーがあったので

http://xvd.bha.co.jp/
http://xvd.bha.co.jp/gallery/

逆コンパイルしてみたよ。
jarパッケージの中のv8.classがビデオデコーダ本体で、
もちろんobfuscateされてるんだけど、
努力と根気で元に戻してみた。

p8.classがプレイヤースレッドで、そこからv8を読んでるので
いろいろ意味を推定して言った結果、以下のようになった。
インターフェース部分はこんな感じ。

public class video_codec
{
private int _cos_tab[];
int height_orig, width, height;
int C[]; // output frame
int ac; // play buffer offset?
private int Const1, Const2, Const3, Const4, Const5, Const6;

public video_codec(); // コンストラクタ
public int a( byte abyte0[], int i1 ); // pack 4 bytes into dword
private void _mthint(); // r
private int _mthif( int ai1[] ); // read codes ( arithmetic?
private int _mthif( int i1 ); // read code ( arithmetic?
private void a(); // read code initialize
private void _mthdo( int ai1[], int i1 ); // なんか初期化
private int _mthdo(); // read one bit
private int a( int i1 ); // read bits
private void a_intp( int ai1[] ); // do dct stuff
void dct_hori( int ai1[], int i1 );
void dct_vert( int ai1[], int i1 );

private void init_costab( void ); // cosine table initialize( 使ってないけど )
private void _mthif( int ai1[], int i1, int j1 );
private int _mthdo( int ai1[], int i1, int j1 );

public void _mthif( byte abyte0[] ); // ヘッダ部分のリード&デコーダ初期化?
public int a( byte abyte0[] ); // 多分バッファに追加&フレームデコード

public void _mthfor();
public void a( int ai1[], int ai2[], int ai3[], int ai4[], int i1, int j1, int k1, int l1 );
private void a( int ai1[], int i1, int j1 );
private void a( int ai1[], int ai2[], int ai3[], int i1, int j1, int k1, int l1 );
void a( int ai1[], int ai2[], int i1, int j1, int k1 ); // I-Frameの取得かな?
}

written by nikq [/program] [この記事のURL] [コメントを書く] [コメント(0)]

2006年8月23日(水) 22:18

超草薙

Gigazineより :: スターウォーズ エピソード3の超高画質マットペイント
http://gigazine.net/index.php?/news/comments/20060823_matte_painting/


背景画専門スタジオの話だ。
日本にも草薙があるぞって思って
比較してみたんだけど

http://www.kusanagi.co.jp/
vs
http://www.dusso.com/images/mp02/mp54.html
http://www.dusso.com/images/mp02/mp55.html
http://www.dusso.com/images/mp02/mp46.html

うー、ちょっと勝負にならんか…

written by nikq [/daily] [この記事のURL] [コメントを書く] [コメント(0)]

2006年8月23日(水) 12:55

今日のPK動画

UF forumより :: Peter Ammentorp Lund - UT'06
http://p202.ezboard.com/furbanfreeflowfrm27.showMessage?topicID=6373.topic

なんつーの
青空、バックフリップ、コンクリート!
たまらん!

written by nikq [/parkour] [この記事のURL] [コメントを書く] [コメント(0)]

2006年8月16日(水) 23:50

DeBlurring

カメラの手ぶれのキャンセリングについて。

Coded Exposure Photography: Motion Deblurring using Fluttered Shutter
http://www.umiacs.umd.edu/~aagrawal/sig06/sig06.html

概要超訳:
単純なシャッターだとboxフィルターなので高周波成分が死んじゃうから、
deblurしたときにダメだよね。だからシャッターをflutterさせることで
高周波成分をモーションブラー画像に畳み込むような
カメラとそれのdeblurrを作ってみたよ。


Removing camera shake from a single image
http://blog-tech.rikunabi-next.yahoo.co.jp/blog/hirabayashi/124
http://people.csail.mit.edu/fergus/research/deblur.html


概要超訳:
カメラの手ぶれを補正するために逆畳み込みカーネルを使うよね?
そのカーネルを自動で推定する手法を提案するよ。
この手法ではカメラの平行移動手ぶれのみを扱います。

手法超訳:
ボケてる画像に対して多重解像度分析使って
できるだけ画像として自然な絵を返すようなカーネルに山登りする。

この場合の「自然な絵」ってのがhiraxさんの書かれてる
ガウス分布に沿ったほげほげなわけで、
だいぶヒューリスティックだけど、result imageはものすごいなぁと思う。

実装したい。

written by nikq [/program] [この記事のURL] [コメントを書く] [コメント(0)]

2006年8月15日(火) 22:03

NIKE JAPAN

http://stage6.divx.com/members/64049/videos/2588

NikeのCM。かっこよい。
エクストリームスポーツと
スローモーションはお似合いすぎる。

CM映像としてはすごくきれいなんだけど、
意外にリズムあわせをしてないことがわかる。

個人的にはリズムや曲の展開に合わせて
シーンがかっちり変わってくのが好きなので
いつも0.1秒単位くらいまで合わせるんだけど
(耳のほうが反応が早いから映像を先に出すといい:トリビア)
このCMは全然そんなの気にしてなくて、
テキトーにつないでる。
でも多分それがいい味なんだろうなぁ。

written by nikq [/parkour] [この記事のURL] [コメントを書く] [コメント(2)]

<< 前のページ

nikq::cube

MySketch 2.7.2 written by 夕雨