圧縮ソフトウェア

Fraunhofer Versatile Video Encoder (VVdeC)の実行について (vvdecapp: command not foundの対処法)

以前VVenCについて書いたが、今回はVVdeCについて書く。 2021/11/2現在ではまだコードが開発中であり、問題点もまだあるようだ。 インストール方法を書く。 $ git clone https://github.com/fraunhoferhhi/vvdec をした後にビルドを行うのだが、方法がいくつ…

Fraunhofer Versatile Video Encoder (VVenC)の実行について (vvencFFapp: command not foundの対処法)

FraunhoferのVersatile Video Encoder (VVenC)の実行方法について記述する。 VVenCについては以下に書かれている。 https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc/fraunhofer-versatile-video-encoder-vvenc.html …

HEVCのプロファイルとレベルについて

HEVCにはプロファイルとレベルというものがある。 以下の文献に説明がある。 https://www.jstage.jst.go.jp/article/itej/67/7/67_553/_pdf ここでもより簡単に説明する。 プロファイル プロファイルとは: 「特定の符号化ツールやアルゴリズムのセット」 「…

VVCの参照ソフトウェアVTMのインストール方法

Linux環境にVTMのインストールを行う方法を解説する。 VTMのインストールを行うにはgcc 7.4以上が必要となる。 (gcc 5.4ではビルドに成功しなかった) よってdockerhubなどからdockerの環境でVTMをインストールしようとする際も、新しめのdocker imageを利…

HEVC参照ソフトウェア"HM"をmacで動かし、opencvも利用可能にする

HMの環境構築は以前の記事を参照。 HEVC参照ソフトウェア"HM"をmacで動かす - jskangarooのブログ opencvをxcodeに導入するのも以前の記事を参照。 Xcodeでc++のopencvを使えるようにするまで - jskangarooのブログ この2つの記事で行ったことを組み合わせ…

HEVC参照ソフトウェア"HM"をmacで動かす

HEVC参照ソフトウェア"HM"をmacで動かす際はxcodeを用いる。 HMのマニュアルは以下のリンクの"HM software manual"からアクセスできる。 https://hevc.hhi.fraunhofer.de それに沿って行う。 上のサイトからHM Gitlab Pageに行く。 そしてローカルの環境にク…

HEVC参照ソフトウェアHMのコードの内部(4) TEncGOP.cppについて

ここではTEncGOP.cppを見ていく。 https://hevc.hhi.fraunhofer.de/HM-doc/_t_enc_g_o_p_8cpp_source.html TEncGOP.cppには具体的に符号化を行うための関数が含まれる。 符号化の関数は1155行目の Void TEncGOP::compressGOP である。 具体的なフレームごと…

HEVC参照ソフトウェアHMのコードの内部(3) HMの出力について

HMを用いてyuv動画、画像を圧縮した場合、 SUMMARY -------------------------------------------------------- Total Frames | Bitrate Y-PSNR U-PSNR V-PSNR YUV-PSNR 1 a 150.7200 34.5559 39.2416 40.1600 35.6956 I Slices----------------------------…

HEVC参照ソフトウェアHMのコードの内部(2)

HEVC参照ソフトウェアHMのコードの内部(1)では /App/TAppEncoder/TAppEncTop.cpp /Lib/TLibEncoder/TEncTop.cpp のencoder functionをおもに見てきた。 /App/TAppEncoder/TAppEncTop.cppの633行目のm_cTEncTop.encode() (encoding function for one frame)に…

HEVC参照ソフトウェアHMのコードの内部(1)

HEVC参照ソフトウェアであるHMのコードは以下のリンクから確認することが出来る。 https://hevc.hhi.fraunhofer.de/HM-doc/files.html App/TAppEncoder/encmain.cppというファイルが存在する。 https://hevc.hhi.fraunhofer.de/HM-doc/dir_24fac828c35f1d449…

YUViewを用いたYUV動画の再生

YUViewはオープンソースのYUVプレイヤーである。 インストール方法は以前の記事、 YUViewでHMの符号化によるbinファイルの考察 - jskangarooのブログ に示す。 インストールが完了すれば、左側にあるOpenボタンから動画を読み込む。 だが、読み込んでも動画…

HMのcfgファイルのフレーム番号、POC、QPfactorについて

HEVC参照ソフトウェアであるHMは圧縮を行う際、cfgファイルをもとに行う。 cfgファイルには圧縮を行う方法などが書かれている。 例えばRandom Accessには # Type POC QPoffset QPfactor Frame1: B 8 1 0.442 Frame2: B 4 2 0.3536 Frame3: B 2 3 0.3536 Fram…

HEVC参照ソフトウェアHMのrandom accessのGOPを4にするには

HEVC参照ソフトウェアHMのrandom accessコンフィギュレーションでは、デフォルトでGOPは8となっている。 HMのドキュメントではGOPを4にした場合の例が載っていたので、それを実装する。 具体的にはCoding Structureの部分を以下のように書き換える。 #=====…

PILを用いた画像圧縮(jpeg, jpeg2000)

pythonのライブラリPIL(Python Imaging Library)を用いてjpegやjpeg2000による圧縮を行う方法を示す。 from PIL import Image Image.open('org_img.png').save('new_img.jpg', format='jpeg', quality=50, optimize=True) qualityの値を変化させることで精度…

AVC参照ソフトウェアJMでMax. number of reference frames exceeded. Invalid streamエラーの対処法

例えばBQMallという動画の31フレームをJMでエンコードするために、binファイル下で ./lencod.exe -f "../bin/HM-like/encoder_JM_RA_B_HE.cfg" -f "../bin/HM-like/per-sequence_JM/BQMall.cfg" -p InputFile="BQMall.yuv" -p FramesToBeEncoded=31 -p QPISl…

YUViewでHMの符号化によるbinファイルの考察

HEVC参照ソフトウェアであるHMの符号化によって得られるbinファイルをYUViewというソフトウェアで分析を行う。 以下はYUViewのGithubであり、 https://github.com/IENT/YUView 以下のリンクから最新のリリースを確認できる。 https://github.com/IENT/YUView…

Independent JPEG Group のソフトウェアのインストールと利用

Independent JPEG Groupとは、JPEGを無料で提供している団体だ。 記事を書いている現在、最新のバージョンは9dとなっている。 ここからはソフトウェアのインストールについて解説する。 linux環境を想定する。 1. tar.gzファイルの取得 $ wget http://www.ij…

H.264/AVCの参照ソフトウェア"JM"のインストール方法

JMとはH.264/AVCの参照ソフトウェアである。 公式サイトはこちら:http://iphome.hhi.de/suehring/ JM reference manualにそって進める。 1. まずはzipファイルのインストール http://iphome.hhi.de/suehring/tml/download/ にあるzipファイルをクリック、あ…

JPEG2000の参照ソフトウェア"OpenJPEG"のインストール方法

OpenJPEGとはJPEG2000の参照ソフトウェアである。 インストールには公式の https://github.com/uclouvain/openjpeg/blob/master/INSTALL.md と http://blog.k-tai-douga.com/article/174692342.html を参考にすると良いが、ここでも説明する。 1. CMakeのイ…

HEVC参照ソフトウェア"HM"のインストール

まずはじめにHMとはHEVCの参照ソフトウェアである。 https://hevc.hhi.fraunhofer.de がそのサイトで、HM software manualからマニュアルも見ることができる。 ここからはそのインストール方法を記述する。 1. まずはsubversionのインストールを行う。 $ apt…