ERI Developer's BBS
  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
8 / 9 ページ ←次へ | 前へ→

Re:また算術符号について調べてみたり…
 みかみかな  - 02/2/9(土) 1:36 -

引用なし
パスワード
   「RangeCoderが特許に抵触しない」などと表現する場合のRangeCoderとは、
原本の実装コード(自由に利用できるものでしたよね?)をほぼそのまま
運用することを言うのではないでしょうか。
圧縮の特許の中には、生成する符号そのものは同じであるが、高速化のために
工夫をしたもの、というのが少なくないと思いますので、実装を変えて
しまっては、やはり危ないと思います。

素人考えです、すみません。

ところで、RangeCoderそのものについては、昔読んだ文章の記憶が確かなら、
作った側が特許に抵触しないと主張する理由として、
「RangeCoderの実装コード提示しIBMに問い合わせたところ、
特許には抵触しないという回答が得られた」
というのが大きな根拠のようなので、結構怪しいですね(^^;

それと、算術符号に関しては、私は敬遠はしません。一応、素人なりに
色々と調べはしているので…。
それに、実は特許に抵触している実装を含んでいる、というソフトウェアは、
商用/非商用の両方に、大量に存在していると思いますしね(^^;
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; T312461)@fna148252.dcn.ne.jp>

Re:また算術符号について調べてみたり…
 猫次郎  - 02/1/28(月) 20:51 -

引用なし
パスワード
   >どうも名前で敬遠されそうなので、「擬似算術符号」とかにして
>おいた方が良いのでしょうか?
>う〜〜〜ん、でも算術符号だしなぁ〜

オイラは「算術符号化」で良いと思います。
下手に誤魔化した表現は、逆に何だか怪しいですし。ハイ(^-^;

あとは、仕様書とかに「特許」の点についての説明をしておけば
良いと思います。ハイ(^-^;

>■ 更新履歴
>2001/01/18 ライセンスを修正。

#こっそりと 2002/01/18 と直しておきましょう。ハイ(^^;;;
・ツリー全体表示
<Mozilla/4.79 [en] (Win95; U)@SODfi-02p2-104.ppp11.odn.ad.jp>

また算術符号について調べてみたり…
 L.Entis  - 02/1/25(金) 16:30 -

引用なし
パスワード
   また、思い立ったように算術符号の特許について調べてみたりしてます。
私が使っている算術符号(以前のバージョンのERIで使っていたもの)は少なくとも算術符号の基本特許には引っかからないように見えます。…と言うか、全然関係ないですね。

RangeCoder と実装は殆ど同じなので、私はむしろRangeCoder は大丈夫なのかと疑問に思うものですが…。
以下の yz の山崎氏の RangeCoder の解説でいくなら、私の使っている算術符号は、実装面ではまるっきり RangeCoder の1種と言うことになってしまいますしね。
http://www.tomozo.ne.jp/yamazaki/download/doc_basic_compression.htm
因みに、ERI の算術符号は、可逆性を維持するために中間精度と丸めの方法を限定しています。(RangeCoder 同様、下限値と範囲しか持っていないので)
にしても、RangeCoder は丸めは切捨てだけで大丈夫なのでしょうか?
頻度表の作り方にもよるとは思いますが…。

あと、ERI の算術符号も、RangeCoder も他の多くの算術符号に関する特許に関しては問題ないと思います。
やっぱり、一番怪しいのが基本特許だと思います。
大半の特許は、高速に算術符号を実現する方法で、しかも古いので、シフトによって実現する方法が殆どなので、ERI の算術符号に関しては全く問題ないでしょう。
ただ、RangeCoder に関しては、やはり実装の方法によっては怪しいと思うと言うのが、私の見解です。
RangeCoder が特許に触れないというのは、RangeCoder という手法そのもののことを言っているのであって、やはりそれ以外の算術符号の特許に抵触してしまう可能性はあると思います。何か情報がある人がいましたら情報下さい。

…ところで

実は、次世代 ERI では、算術符号もオプションに入れようと思っているのですが、どうも名前で敬遠されそうなので、「擬似算術符号」とかにしておいた方が良いのでしょうか?
う〜〜〜ん、でも算術符号だしなぁ〜
って言うか、RangeCoder だって算術符号だし…(-_-;
ご意見お待ちしております。
(特許に関することも含めて)
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)@tindacil.zeroeks.co.jp>

Re:次世代ERISA
 L.Entis  - 02/1/25(金) 10:35 -

引用なし
パスワード
   >次世代の ERISA はお利口さんのようですね。ハイ(^-^;

 あう、早速見ていただいてありがとうございます。
 最近更新ネタがあまり無いもので…。

>個人的には AVI ファイル用の Codec として普及を期待しています。
>なかなか AVI 用の Codec も選択肢が少ないので(^^;;
>MIO も mp3 の代わりとして使えるかもしれませんし。ハイ(^-^;

 そうですねぇ〜。
 LCL みたいに、VFW ドライバ作ればまた需要もあるかもしれませんね。
 MIO は使ってくれる人次第ってところでしょうか?
 私としては悩み多いフォーマットではあるのですが…(^^;

>では期待していますね。ハイ(^_-ゞ

 はい〜〜〜〜♪
 よろしくです。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)@tindacil.zeroeks.co.jp>

次世代ERISA
 猫次郎  - 02/1/24(木) 23:31 -

引用なし
パスワード
   どうも猫次郎です(^_^.
あけまして、おめでとうございます。

次世代の ERISA はお利口さんのようですね。ハイ(^-^;

個人的には AVI ファイル用の Codec として普及を期待しています。
なかなか AVI 用の Codec も選択肢が少ないので(^^;;
MIO も mp3 の代わりとして使えるかもしれませんし。ハイ(^-^;

では期待していますね。ハイ(^_-ゞ
・ツリー全体表示
<Mozilla/4.79 [en] (Win95; U)@SODfi-01p4-77.ppp11.odn.ad.jp>

サーバメンテナンスのお知らせ
 L.Entis  - 02/1/10(木) 0:38 -

引用なし
パスワード
   平成14年1月23日 (水) 3:00〜5:00
ホームページの閲覧が出来なくなります。

…と言うような、ハガキが届きました。
なぜハガキ!?
とりあえず、上記期間、レンタルサーバのメンテナンスがあるらしいです。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-96.kcom.ne.jp>

Re:ERINA-Libraryのライセンス
 L.Entis  - 02/1/9(水) 10:21 -

引用なし
パスワード
   >配布の際の許可の有無などについては、
>各配布ライセンスを参照のこと。
>などの表記がわかりやすいのかな……?

そうですね、そう書いたほうがよさそうですね。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tindacil.zeroeks.co.jp>

Re:ERINA-Libraryのライセンス
 /|/ |/  - 02/1/9(水) 0:32 -

引用なし
パスワード
   あれ……Σ( ̄▽ ̄;)

>■ ライブラリを使用する際のライセンス - 基本ライセンス
> (3) 配布について
> 無許可での、応用プログラムやソースコードを配布、
>又は送信可能状態にすることは禁止します。
> 応用プログラムやソースコードを、配布、
>又は送信可能状態にする場合には、
>基本ライセンスと同時に配布用のライセンスを利用してください。
 
>■ 個人が配布する場合 - 個人配布ライセンス
> (1) ライセンス対象者
> 個人配布ライセンスは、応用プログラムを配布、
>又は送信可能状態にする個人、非営利団体、
>及び教育機関が適用の対象となります。

基本ライセンスに無許可での配布を禁止とあるので、
どの配布用ライセンスでも無許可での配布が禁止というように見て取れます。

私の受け止め方が変……?Σ( ̄▽ ̄;)
配布の際の許可の有無などについては、
各配布ライセンスを参照のこと。
などの表記がわかりやすいのかな……?
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461)@proxy1.itabs1.kn.home.ne.jp>

Re:ERINA-Libraryのライセンス
 L.Entis  - 02/1/9(水) 0:01 -

引用なし
パスワード
   ▼/|/ |/さん:
>再配布する際に許可が要るようになったのですね。

いえ、いりませんよ?
あれ?
なんか誤解を招くような記述になってしまったでしょうか?
暇を見つけてもうちょっとわかりやすくします。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-47.kcom.ne.jp>

ERINA-Libraryのライセンス
 /|/ |/  - 02/1/8(火) 22:26 -

引用なし
パスワード
   再配布する際に許可が要るようになったのですね。

Sound Player Lilithでは、
ERINA-Libraryをスタティックリンクして作ったプラグインを
配布しておりますが、
配布許可を頂けますでしょうか?

既に再配布しちゃっていますが、
明示的な了承を得る前に始めてしまって申し訳ありません。
お見逃しいただけないでしょうかΣ( ̄▽ ̄;)
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461)@proxy2.itabs1.kn.home.ne.jp>

Re:MIO のタグ情報
 /|/ |/  - 01/12/18(火) 19:42 -

引用なし
パスワード
   >う〜〜〜ん、それはいいんですけど、MIOにあって、MP3にないものが出てくるからあまり意味がない気も…。

Lilithに限っては、それで構いませんです。
元々、各フォーマットで共通に持ってるのって、
ID3v1.1と同等ものくらいしかないです。

MIO      ID3
title     title
vocal-player artist
source    album
release-date year
genre     genre
comment    comment

という対応でよろしいでしょうか?
アレ、trackが無い……Σ( ̄▽ ̄;)
trackもお願いします。
対応版ライブラリがリリースされたら、差し替えますので。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)@proxy1.itabs1.kn.home.ne.jp>

Re:MIO のタグ情報
 L.Entis  - 01/12/18(火) 19:34 -

引用なし
パスワード
   ▼/|/ |/さん:
>せめて、ID3v1.1にあるタグは全部含めてもらえないでしょうか?
>相互変換の時に困りますですΣ( ̄▽ ̄;)

う〜〜〜ん、それはいいんですけど、MIOにあって、MP3にないものが出てくるからあまり意味がない気も…。
ただ、新しく以下のものを追加します。

source:出展、またはアルバム名などを指定します。
release-date:リリースした年月日を、yyyy/mm/dd形式で指定します。yyyyは年、mmは月、ddは日にちを10進数で指定します。
genre:音楽のジャンルを指定します。(文字列)

これに対応したライブラリは出来てるんですけど、リリースは少々お待ちください。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-174.kcom.ne.jp>

Re:MIO のタグ情報
 /|/ |/  - 01/12/17(月) 0:41 -

引用なし
パスワード
   せめて、ID3v1.1にあるタグは全部含めてもらえないでしょうか?
相互変換の時に困りますですΣ( ̄▽ ̄;)
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)@proxy2.itabs1.kn.home.ne.jp>

MIO のタグ情報
 L.Entis  - 01/12/16(日) 13:50 -

引用なし
パスワード
   MIO のタグを正式に決定しました。
新しくアップした仕様書の10ページに書いてあります。

title     曲名
vocal-player  歌手名や演奏者
composer    作曲者名
arranger    編曲者名
rewind-point  ループ位置
comment    コメント
words     歌詞

とりあえずこんな感じです。
rewind-point を仕様に盛り込んだ辺りが、ちょっとゲーム向けフォーマットって感じでしょうか?
words は不要かと思ったのですが、とりあえず仕様で決めておくことにしました。
文字列を解析するには、ERIFile::ETagInfo クラスを使うと便利なようになっています。
何かご意見等ございましたらレスや、メールをください。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-164.kcom.ne.jp>

Re:タグ情報とか…。
 L.Entis  - 01/12/14(金) 8:20 -

引用なし
パスワード
   ▼/|/ |/さん:
>以上2点から、'\0'で終わる任意の文字列の後ろに、バイナリデータを埋め込めるので、それを悪用してみました。
>他のソフトでは、ERIFileの仕様によって、"MIO"という3文字のコメントに見えますが、その後ろに'\0'を挟んでLilithプラグイン標準仕様のコメントデータが埋め込まれてます。

まあ、とりあえずOKなのではないでしょうか?(^^;
近いうち、画像圧縮の際の省メモリや、MIOの圧縮オプションの設定、あと、現状では、MIODynamicPlayer クラスを派生させないとメンバ変数の m_erif にアクセス出来ないのをちゃんとできるようにしたり、と言うのをやる予定ですが、これに付け加えて、タグ情報の解析クラスなども追加する予定ですので、その時に対応してもらえれば嬉しいです。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tindacil.zeroeks.co.jp>

Re:タグ情報とか…。
 /|/ |/  - 01/12/13(木) 23:24 -

引用なし
パスワード
   タグ情報なんですが、独自の実装をしてしまったのですがよろしかったでしょうかΣ( ̄▽ ̄;)

・ERIAnimationWriter::WriteDescription()は任意のバイナリデータを書き込める。
・ERIFileは、descriptを、先頭が0xFFFE以外の場合、'\0'で終わるShift-JISの文字列として扱う

以上2点から、'\0'で終わる任意の文字列の後ろに、バイナリデータを埋め込めるので、それを悪用してみました。
他のソフトでは、ERIFileの仕様によって、"MIO"という3文字のコメントに見えますが、その後ろに'\0'を挟んでLilithプラグイン標準仕様のコメントデータが埋め込まれてます。

テキスト文字列の解釈が面倒なので、そのまま使えるバイナリデータで
お茶を濁してしまったのですが、ダメですか……?Σ( ̄▽ ̄;)
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)@ce3158503-a.edgwa1.kn.home.ne.jp>

タグ情報とか…。
 L.Entis  - 01/12/9(日) 22:51 -

引用なし
パスワード
   ▼/|/ |/さん:
>>(OSが正しく行っているはずですが、OSの初期状態が未定義なので、
>>意図的に丸めなどを設定しています)
>
>この部分なんですが、スレッドの開始時
>(というよりは、最初にeriInitializeTaskを呼んだ時)
>に設定した後、あとはそのままということでしょうか?
>そうすると、間に入る他のプログラムによって変更された場合、
>大丈夫なのでしょうか?

 関数の呼び出し規約では、フラグレジスタをはじめとするすべてのコントロールレジスタの内容は、関数復帰時に呼び出し時の状態に戻さなければならないことになっているはずです。
 まあ、高速化のために関数単位ではやらない場合も多いとは思いますが、そういうことをやっている処理単位の中では上手くいかないかもしれないですね。
 それは他の関数でも同じことだと思います。
 ただ、eriInitializeTask では、コントロールレジスタをプロセッサの初期状態に設定しているだけなので、普通問題はないはずです。

>あとは、タイトルやアーティスト名などの、いわゆるタグ情報については、
>特に規定が無いのでしょうか?

 実は今のところ公開はしてないです。
 一応、音声フォーマットのときのみ Description の方に以下のフォーマットで格納することになっています。

# <tag-name> <cr/lf>
<contents-text> <cr/lf>
...

 # 記号から始まる行がタグの始まりで、<tag-name> には以下のものが指定できます。ただ、## から始まる行は # から始まる <contents-text> に置き換えられます。

<tag-name>  : <内容>
title    : 曲名など
vocal-player : 歌手名や奏者など
comment   : コメント

 以上。(^^;
 かなり緩やかな指定です。なぜか、"vocal-player" って、1つになってます。(^^;
 これ以外のタグが必要でしたら、各アプリケーションで付け足してくださいと言う感じです、とりあえずは。(^^;;;;
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-192.kcom.ne.jp>

Re:MIOのデコードがうまくいかないです(ι´Д`)
 /|/ |/  - 01/12/9(日) 20:47 -

引用なし
パスワード
   とりあえず、マルチスレッドでのライブラリの使用に関しては、
特に意識する必要はないということですね。
スレッド用の初期化関数が用意されてるので、
TLSとかの関係で依存性があるのかと思ってしまいました。

1つだけ気になるのが、
>現在は、eriInitializeTask では、FPUユニットとXMMユニットを初期化しています。
>(OSが正しく行っているはずですが、OSの初期状態が未定義なので、
>意図的に丸めなどを設定しています)

この部分なんですが、スレッドの開始時
(というよりは、最初にeriInitializeTaskを呼んだ時)
に設定した後、あとはそのままということでしょうか?
そうすると、間に入る他のプログラムによって変更された場合、
大丈夫なのでしょうか?
たぶん、『念のため』設定しているだけで、
実際に必要な部分では、処理単位で変更しているのだと思われますが、
一応確認しときます。
私もアセンブラとかいじるので、最初に変更したのをあてにされてると、
私のコードで変更したことでおかしな動作になったりするかもしれないので。

>音声のエンコードのパラメータの設定関数 SetCompressionParameter
> のプロトタイプが変更になる予定です。

了解です。SDKがバージョンアップされたら、こちらも変更します。
基本的に、今はヒマがあるため、なるべく最新のモノを使うようにしてるので、
本家でバージョンアップがあれば、すぐ対応できると思います。


あとは、タイトルやアーティスト名などの、いわゆるタグ情報については、
特に規定が無いのでしょうか?
CopyrightとDescriptionとが書き込めるようになっているのには気づいたのですが、
Descriptionの方にでも書式化して埋め込むのでしょうか?
あるいは、それとは別個に用意されているのでしょうか?
書式や文字コードとか決まっていたり、
あるいはこれから定義する予定でしたら、
それに従わせていただきたいです。

とりあえず、デコード/エンコードとも一通り動くようになったので、
身内でのテストを済ませたあと、
2〜3日中にテスト版をHPで公開させていただきます。
折りをみて、著作権表示や動作などに問題がないかどうか、ご確認ください。
・ツリー全体表示
<Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)@ce3158503-a.edgwa1.kn.home.ne.jp>

あ、それと
 L.Entis  - 01/12/9(日) 17:32 -

引用なし
パスワード
    音声のエンコードのパラメータの設定関数 SetCompressionParameter のプロトタイプが変更になる予定です。
 画像の圧縮パラメータと同様に構造体で渡す形になる予定です。
 もしエンコーダーも書くことがありましたらご注意ください。バージョンのβがのくまでは他にも変更があるかも…。
 今のところの予定はそれだけですが…。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-192.kcom.ne.jp>

Re:MIOのデコードがうまくいかないです(ι´Д`)
 L.Entis  - 01/12/9(日) 17:26 -

引用なし
パスワード
   ▼/|/ |/さん:
>ところで、ココで新たな疑問が湧いたのですが、
>eriInitializeTask() と eriCloseTask()が必要になると、
>スレッド間で共有する場合とかに、どうなっちゃうのでしょうか?

 特に問題はないと思います。

>そうすると、デコードとデコーダの初期化は、
>同一スレッド上で行うようにしなくてはならないですよね。

 そうする必要もないと思います。

>オブジェクト自体を今までのように任意のスレッドで共有できるようにするには、
>デコーダオブジェクト内でスレッドを生成して、
>そこですべての動作を行う非同期モデルに変更する必要があります。
>そのあたり、どうなる予定でしょうか?

 なぜライブラリ全体の初期化関数とは別にスレッドの初期化関数があるかと言えば、スレッドのコンテキストを初期化するためです。
 現在は、eriInitializeTask では、FPUユニットとXMMユニットを初期化しています。(OSが正しく行っているはずですが、OSの初期状態が未定義なので、意図的に丸めなどを設定しています)
 それと、将来この関数に他の機能がつくとすれば、TLSにライブラリのスレッド固有の情報を書き出すことです。(多分ないです)

>また、LibraryおよぼTaskのInitializeとCloseには、
>参照カウントがありますか?
>それとも、各々1回ずつでなくてはダメなのでしょうか?

 現在は参照カウンタは使っていません。(Close関数は何もしないので)
 もし、将来Close関数が何らかのリソースを開放するような動作をするような場合には、Initialize関数を呼び出した回数Close関数を呼び出すまではリソースは開放されなくなります。

 スレッドでどうこうと言う話ですが、オブジェクトへの操作(メンバ関数呼び出しやメンバ変数へのアクセス)が複数のスレッドから同時に行われても問題ないように(普通マルチスレッドプログラミングでそうするように)外側で作ってやればまったく問題はありません。
・ツリー全体表示
<Mozilla/4.75 [ja] (Windows NT 5.0; U)@tokyo-fa1-192.kcom.ne.jp>

  新規投稿 ┃ ツリー表示 ┃ 一覧表示 ┃ トピック表示 ┃ 検索 ┃ 設定 ┃ ホーム  
8 / 9 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
7920 C-BOARD v3.02 is not Free?