終了

Premiere Pro CC「垂直反転」エフェクトのバグ

New Here ,
Jun 24, 2018 Jun 24, 2018

リンクをクリップボードにコピー

コピー完了

Premiere Pro CCの「垂直反転」エフェクトと、8bitRGB系エフェクトを組み合わせた際、映像の上部1px分が破損した映像が垂直反転エフェクトから伝搬している。

この現象を確かめるためには、垂直反転エフェクトをかけたあと、8bitにしか対応していない「ブラー(チャンネル)」などを適用し、再生をすると、映像の上部がフレームごとにランダムに乱れていることが確認できます。

ブラーのパラメータは初期設定の半径0のまま、400%拡大で上部を見ると、より分かりやすいです。

更に調査した結果、「垂直反転」エフェクトによって、結果が1px分、下にずれてしまっている様です。

3枚目のように、「垂直反転」→「ブラー(チャンネル)」→「垂直反転」と適用すると、元の映像と比較して1px分下にずれていることが確認できます。

この問題は、「垂直反転」エフェクトと、8bitRGB系エフェクトを組み合わせた際にのみ発生し、また「垂直反転」エフェクト単体では出力には問題は発生しない様です。

img1.PNGimg2.PNGimg3.PNG

再現確認環境

・Windows10 + Premiere Pro CC 2018 (core i7 7820x / GTX 1080)

・macOS High Sierra  + Premiere Pro CC 2018 (Mac Book Pro 2015 13inch core i5)

表示

2.8K

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jun 24, 2018 Jun 24, 2018

リンクをクリップボードにコピー

コピー完了

おそらく、レンダラーにGPUが使われるかソフトウェア処理が使われているかによる、変形のアルゴリズムの違いが影響しているのだと思います。

「プロジェクト設定」の「レンダラー」を「ソフトウェア処理」にしていただきますと、「垂直反転」エフェクトを入れただけで1ライン下にシフトして、上1ラインにランダムなノイズが現れると思います。

これはおっしゃる通り、「垂直反転」エフェクトのソフトウェア処理の不具合なのだと思います。お使いの素材・シーケンス設定は、タイムコード値から察するにプログレッシブかと思いますので、「垂直反転」エフェクトを使わず、エフェクトコントロールタブの「モーション」で180度回転させ、「水平反転」エフェクトを使用すると、うまくゆくと思います。

(ソフトウェア処理は古くからある処理だと思いますので、ひょっとするとインターレース素材を反転した際のシフトフィールド処理の名残が悪さしてるかもしれませんね。)

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Jun 24, 2018 Jun 24, 2018

リンクをクリップボードにコピー

コピー完了

なぜこのようなバグが発生したのか、技術的な想像をすると、Premiereにおける画像のデータ表現が直感的でないことによって起きたバグだと思われます。

8/16bit ARGBエフェクトを制作する際、

・データの起点となる PF_PixelPtr  data (vec4<unsigned char>な構造体のポインタ)

・データの横バイト数を示す int rowbytes (OpenCVで言うところのstep)

の2つの情報を元に画像を入出力します。

After Effectsなどの入出力では、この画像データはdataを起点に、[*data] ARGB ARGB …と並び、rowbytes は正の数ですが、

Premiere の場合は、rowbytes が負の数であり、dataは画像データの途中を指し、BGRA BGRA …… BGRA [*data]  BGRA…BGRA

と逆さまに表現されます。

おそらく、Premiereの「垂直反転」エフェクトは、画像データを反転したあと、BGRA BGRA …… …BGRA [*data]

のように、dataが画像データの真の終端を示してしまっていると思われます。

よって垂直反転エフェクトの次のエフェクトは、 [*data] の先のデータを1列分読み、1列ずれてしまっていると想像できます。

このバグは、本来の画像データではない不正なメモリアドレスを読むため、最悪 segmentation fault でプログラムが異常終了してしまう、非常に危険なものです。早急に修正をお願いしたいところです。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Jun 24, 2018 Jun 24, 2018

リンクをクリップボードにコピー

コピー完了

こちらのコミュニティフォーラムは、アドビのスタッフさんもご覧になられているのでバグの情報なども伝わると思いますが、不具合を報告するためのフォームが下記リンク先にありますので、詳しくはそちらにご報告いただくのが良いのではないかと思います。

製品への要望 / 不具合報告 フォーム

問題が解消するまでは、モーションで180度回転させて水平反転させる方法で、おしのぎいただけるかと思います。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Jun 24, 2018 Jun 24, 2018

リンクをクリップボードにコピー

コピー完了

最新

試しに、1080pの映像をトランスフォームで横6倍にしたあと、垂直反転をさせると、low-level exceptionでPremiereがクラッシュしました。

同様のシーケンスで、垂直反転ではなく水平反転した場合、横15倍に伸ばしても問題なかったため、トランスフォームの問題でも無いようです。

やはり、不正なメモリを読んでしまっているようです。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines