View Issue Details

IDProjectCategoryView StatusLast Update
0000019JVT JM H.264/AVC reference softwareencoderpublic2006-10-20 21:02
Reportergoldchan Assigned ToAlexis Michael Tourapis  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionJM 11.0 
Fixed in VersionJM 12.0 
Summary0000019: B slice with full Hierarchical Coding
DescriptionDear Expert,

When I set the "HierarchicalCoding=2", every 30,62,94 and 126 have the same bit rate as the first I frame's rate nevertheless different sequences and QPs.

If I don't use Hierarchical Coding mode, It doesn't happen.

GOP length is (1P+7B) with open GOP.
Thses frames are coded as P->B->B,B->B,B,B,B.
I attached my config file and output stat_frame.dat file.

                              
TagsNo tags attached.

Activities

2006-10-16 23:36

 

config_stat.zip (17,771 bytes)

goldchan

2006-10-17 17:54

reporter   ~0000011

I used the following command for encoding

lencod -f encoderForemanQCIF.cfg -p SliceMode=0 -p SliceArgument=1 -p QPISlice=10 -p QPPSlice=10 -p QPBSlice=10

Alexis Michael Tourapis

2006-10-19 04:45

developer   ~0000013

There seems to be no problem with current config file. Please also send "encoder.cfg" and be more clear on what exactly is the problem. Note that using -p QPPSlice=10 -p QPBSlice=10 also results in different (and as expected) QPs assigned to P and B slices (depending on hierarchy level).

PS. Make sure that Rate Control is disabled in your simulations since that is not supported for hierarchical coding. Also it is suggested that you try EPZS instead UMHex.

2006-10-19 18:49

 

encoder.cfg (24,481 bytes)

2006-10-19 18:50

 

encoderForemanQCIF.cfg (24,524 bytes)

goldchan

2006-10-19 18:50

reporter   ~0000014

I modified my config file(encoderForemanQCIF.cfg) to use EPZS instead UMHex.
I agreed to your comment since I set "HierarchyLevelQPEnable=1".
And I double checked my config file and encoder.cfg not to use rate control.

Because I specify my config file(encoderForemanQCIF.cfg),
I don't know why you need encoder.cfg.
Anyway, I attached both config files.
I also checked this problem, after changing. It still has the same problem.

Alexis Michael Tourapis

2006-10-19 20:56

developer   ~0000015

Hi,

I am afraid that I still do not understand what problem you are having. The bits for each frame seem very different. Are you talking about bits or are you talking about something else that is being reported in the stat_frame.dat file? The problem with version 11.0 and that file was that some of those parameters were in int64 format and the incorrect format was used to write out these stats. That is why you are seeing many negative and weird values in the mode occurence. This was fixed in the latest "unofficial" version (it was just uploaded as JVT-U029). In any case, please do clarify what I should be looking at.

As for encoder.cfg, do note that if you use the "-f" option, the encoder.cfg file is also parsed prior to any other files you may have. This results in some of the options that may only exist in encoder.cfg to be used from there. You could try the "-d" option instead.

goldchan

2006-10-20 20:27

reporter   ~0000016

Thanks for your comment.
I mentioned bit rate at stat_frame.dat file.

Where can I download JVT-U029? I can't find ftp3.itu.int web site.
If I download the JVT-U029, I'll check it again.

Alexis Michael Tourapis

2006-10-20 21:02

developer   ~0000017

Hi,

I just confirmed and resolved the problem. The issue is report_frame_statistic(). Check the following (I will add this in an update of JVT-U029. Wait probably until monday for a revision which should have an "r1" option to it. Check this link http://ftp3.itu.ch/av-arch/jvt-site/2006_10_Hangzhou/).

  // Bug fix. Old code reports statistics of Intra for
  // every retention of frame_num to 0
  //if (img->frame_num == 0)
  if (img->number == 0 && img->frame_num == 0)
  {
    bitcounter = (int) stats->bit_ctr_I;
  }
  else
  {
    bitcounter = (int) (stats->bit_ctr_n - last_bit_ctr_n);
    last_bit_ctr_n = stats->bit_ctr_n;
  }

Issue History

Date Modified Username Field Change
2006-10-16 23:36 goldchan New Issue
2006-10-16 23:36 goldchan File Added: config_stat.zip
2006-10-17 17:54 goldchan Note Added: 0000011
2006-10-19 04:41 Alexis Michael Tourapis Status new => assigned
2006-10-19 04:41 Alexis Michael Tourapis Assigned To => Alexis Michael Tourapis
2006-10-19 04:45 Alexis Michael Tourapis Note Added: 0000013
2006-10-19 18:49 goldchan File Added: encoder.cfg
2006-10-19 18:50 goldchan File Added: encoderForemanQCIF.cfg
2006-10-19 18:50 goldchan Note Added: 0000014
2006-10-19 20:56 Alexis Michael Tourapis Note Added: 0000015
2006-10-20 20:27 goldchan Note Added: 0000016
2006-10-20 21:02 Alexis Michael Tourapis Status assigned => resolved
2006-10-20 21:02 Alexis Michael Tourapis Fixed in Version => JM 11.0-devel
2006-10-20 21:02 Alexis Michael Tourapis Resolution open => fixed
2006-10-20 21:02 Alexis Michael Tourapis Note Added: 0000017