d_wei
30th May 2007, 12:56
Hello,
I have a question about the quality of wmv-encoded content.
I have written an application with the Windows Media Encoder SDK to transcode mxf-files to wmv.
Here is some information about the material I use:
The format of the mxf-videostream is D10 Video IMX (interlaced mpeg2, I-frame-only) at 50 MBit/s.
Resoulution of the source file is 810x608 and the framerate is 25 fps.
For mpeg2 decoding I use Main Concept DShow filter from OpenCube.
I'll have to encode the WMV with a bitrate of 600kBit/s.
The encoded content has a good quality for sourcefiles that have a low bitrate, i.e. 25 MBit/s or 15 MBit/s.
But surprisingly the results for mxf-files with higher bitrates (about 50MBit/s) are worse quality with visible artifacts.
Can you explain why this is so?
I have tested this with different profile-settings, deinterlacing and different encoding-codecs. I tried the "Windows Media Video 9 Advanced Profile" (VC-1 codec) with different registry settings that may improve quality, without any usable results. I also tried different settings for the mpeg2-decoder, so as a completely other decoder. The results were still bad in quality.
Maybe there is a problem with the compressibility of my sourcefiles.
When you take a closer look at the videoimage you can see that it contains "stipes" that might result from the interlacing.
Do these affect the encoded videocontent in a way that artifacts are produced?
Do you know any way to improve my output?
Maybe it could help you to take a look at my encoding-settings, from which I expect a better quality:
My actual profilesettings (an extract out of the .prx-file) are the following:
...
<streamconfig majortype="{73646976-0000-0010-8000-00AA00389B71}"
streamnumber="2"
streamname="Video Stream"
inputname="Video409"
bitrate="600000"
bufferwindow="-1"
reliabletransport="0"
decodercomplexity="AU"
rfc1766langid="en-us">
<videomediaprops maxkeyframespacing="40000000"
quality="100"/>
<wmmediatype subtype="{31435657-0000-0010-8000-00AA00389B71}"
bfixedsizesamples="0"
btemporalcompression="1"
lsamplesize="0">
<videoinfoheader dwbitrate="600000"
dwbiterrorrate="0"
avgtimeperframe="400000">
<rcsource left="0"
top="0"
right="0"
bottom="0"/>
<rctarget left="0"
top="0"
right="0"
bottom="0"/>
<bitmapinfoheader biwidth="0"
biheight="0"
biplanes="1"
bibitcount="24"
bicompression="WVC1"
bisizeimage="0"
bixpelspermeter="0"
biypelspermeter="0"
biclrused="0"
biclrimportant="0"/>
</videoinfoheader>
</wmmediatype>
<dataunitextension extensionsystemid="{1B1EE554-F9EA-4BC8-821A-376B74E4C4B8}"
extensiondatasize="2"
extensionsysteminfo=""/>
</streamconfig>
...
My actual registry settings of the VC-1 are as follows:
(I experimented with the values as well)
DenoiseOption = 1
Force Median = 0
Force Overlap = 1
Video Type = 1
NumBFrames = 1
Force LoopFilter = 1
Dquant Option = 3
Dquant Strngth = 3
Motion Search Level = 1
Motion Search Range = -1
Motion Match Method = -1
Motion Vector Cost Method = 1
Maybe someone can help or has an idea ..
Many thanks in advance!
I have a question about the quality of wmv-encoded content.
I have written an application with the Windows Media Encoder SDK to transcode mxf-files to wmv.
Here is some information about the material I use:
The format of the mxf-videostream is D10 Video IMX (interlaced mpeg2, I-frame-only) at 50 MBit/s.
Resoulution of the source file is 810x608 and the framerate is 25 fps.
For mpeg2 decoding I use Main Concept DShow filter from OpenCube.
I'll have to encode the WMV with a bitrate of 600kBit/s.
The encoded content has a good quality for sourcefiles that have a low bitrate, i.e. 25 MBit/s or 15 MBit/s.
But surprisingly the results for mxf-files with higher bitrates (about 50MBit/s) are worse quality with visible artifacts.
Can you explain why this is so?
I have tested this with different profile-settings, deinterlacing and different encoding-codecs. I tried the "Windows Media Video 9 Advanced Profile" (VC-1 codec) with different registry settings that may improve quality, without any usable results. I also tried different settings for the mpeg2-decoder, so as a completely other decoder. The results were still bad in quality.
Maybe there is a problem with the compressibility of my sourcefiles.
When you take a closer look at the videoimage you can see that it contains "stipes" that might result from the interlacing.
Do these affect the encoded videocontent in a way that artifacts are produced?
Do you know any way to improve my output?
Maybe it could help you to take a look at my encoding-settings, from which I expect a better quality:
My actual profilesettings (an extract out of the .prx-file) are the following:
...
<streamconfig majortype="{73646976-0000-0010-8000-00AA00389B71}"
streamnumber="2"
streamname="Video Stream"
inputname="Video409"
bitrate="600000"
bufferwindow="-1"
reliabletransport="0"
decodercomplexity="AU"
rfc1766langid="en-us">
<videomediaprops maxkeyframespacing="40000000"
quality="100"/>
<wmmediatype subtype="{31435657-0000-0010-8000-00AA00389B71}"
bfixedsizesamples="0"
btemporalcompression="1"
lsamplesize="0">
<videoinfoheader dwbitrate="600000"
dwbiterrorrate="0"
avgtimeperframe="400000">
<rcsource left="0"
top="0"
right="0"
bottom="0"/>
<rctarget left="0"
top="0"
right="0"
bottom="0"/>
<bitmapinfoheader biwidth="0"
biheight="0"
biplanes="1"
bibitcount="24"
bicompression="WVC1"
bisizeimage="0"
bixpelspermeter="0"
biypelspermeter="0"
biclrused="0"
biclrimportant="0"/>
</videoinfoheader>
</wmmediatype>
<dataunitextension extensionsystemid="{1B1EE554-F9EA-4BC8-821A-376B74E4C4B8}"
extensiondatasize="2"
extensionsysteminfo=""/>
</streamconfig>
...
My actual registry settings of the VC-1 are as follows:
(I experimented with the values as well)
DenoiseOption = 1
Force Median = 0
Force Overlap = 1
Video Type = 1
NumBFrames = 1
Force LoopFilter = 1
Dquant Option = 3
Dquant Strngth = 3
Motion Search Level = 1
Motion Search Range = -1
Motion Match Method = -1
Motion Vector Cost Method = 1
Maybe someone can help or has an idea ..
Many thanks in advance!