Opened 9 years ago

Closed 9 years ago

#42 closed defect (wontfix)

parallel V2V (SymbolMode==3) broken in 0.7

Reported by: jzan@… Owned by:
Priority: minor Milestone: 0.6
Component: HM Version:
Keywords: SymbolMode, V2V, MultiCodewordThreshold Cc: dhe@…, gkorodi@…, jzan@…, fbossen, ksuehring, davidf, jct-vc@…

Description

Dear Frank,

I noticed that the parallel V2V coding (symbolMode : 3) is broken in revision 0.6/0.7. This could be reproduced by setting symbolMode : 3 in the \cfg\encoder*.cfg files, and encoding. By comparing the encoded *.bin bitstream with that generated by setting "symbolMode : 1" (CABAC), it was noticed that the V2V bitstream was way bigger than that of the CABAC bitstream, while if V2V worked the way it supposed to be, the two bitstreams should be of the almost the same size.

A careful analysis showed that the default setting of

multiCodewordThreshold : 96000 # Threshold for multi-codeword coding

in the config file caused this problem. In the parallel V2V coding, only one CABAC is used to obtain the statistics for V2V coding, no matter what value "multiCodewordThreshold" is set.

The fix would be adding a validation check in TAppEncCfg.cpp:

Void TAppEncCfg::xCheckParameter()
{

if(m_iSymbolMode == 3) {

m_uiMCWThreshold = 0;

}


}

After applying this fix, the size of the encoded bitstream using V2V (symbolMode :3) should be verified as very close to that of CABAC.

Besides, we did some improvement/cleaning for the V2V codes based on TMuC 0.7, and we attach the corresponding files

\source\App\TAppEncoder\TAppEncCfg.cpp
\source\Lib\TLibEncoder\TEncGOP.cpp
\source\Lib\TLibEncoder\TEncSlice.cpp
\source\Lib\TLibDecoder\TDecTop.cpp

Please let us know how the fix/improvement goes, and if there is any problem, do not hesitate to contact us.

Best regards,
Jinwen

Attachments (8)

TAppEncCfg.cpp (31.4 KB) - added by jzan@… 9 years ago.
TEncGOP.cpp (32.3 KB) - added by anonymous 9 years ago.
TEncSlice.cpp (30.1 KB) - added by anonymous 9 years ago.
TDecTop.cpp (11.9 KB) - added by anonymous 9 years ago.
TAppEncCfg.2.cpp (31.4 KB) - added by anonymous 9 years ago.
TEncGOP.2.cpp (32.3 KB) - added by anonymous 9 years ago.
TEncSlice.2.cpp (30.1 KB) - added by anonymous 9 years ago.
TDecTop.2.cpp (12.0 KB) - added by anonymous 9 years ago.

Download all attachments as: .zip

Change History (15)

Changed 9 years ago by jzan@…

Changed 9 years ago by anonymous

Changed 9 years ago by anonymous

Changed 9 years ago by anonymous

Changed 9 years ago by anonymous

Changed 9 years ago by anonymous

Changed 9 years ago by anonymous

Changed 9 years ago by anonymous

comment:1 Changed 9 years ago by anonymous

Hello, Frank,

I could mess up with some of the attachment files when creating the ticket for the first time, so I uploaded the files again which are indicated with 2 in the filenames.

Could you please try with those latter files first? Let me know if there is any issue.

Thanks.

Best regards,
Jinwen

comment:2 Changed 9 years ago by fbossen

  • Priority changed from critical to minor

Is this simply a matter of telling people to use proper settings (i.e., set multiCodewordThreshold to 0 if symbolMode is 3)?

comment:3 Changed 9 years ago by jzan@…

As TMuC 0.6/0.7 released for performance evaluation, people all around the world are using the default config setting for tool evaluation in TE12 and beyond.

Since not everyone has the knowledge of "proper settings", the default config files are considered as the suggested "proper setting" from knowledgeable experts. However, simply changing symbolMode == 3 in the default settings and running TMuC had produced incorrect results. This not only might lead to wrong conclusions, but also discourage future development on this topic.

comment:4 Changed 9 years ago by fbossen

  • Resolution set to wontfix
  • Status changed from new to closed

Parallel V2V not in HM

comment:5 Changed 8 years ago by davidf

  • Component set to HM

Updating component after adding WD (Text) tickets

comment:6 Changed 8 years ago by davidf

  • Cc fbossen ksuehring davidf added

comment:7 Changed 8 years ago by davidf

  • Cc jct-vc@… added
Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber, Participant)
  • dhe@…(Subscriber)
  • Frank Bossen(Subscriber, Participant)
  • gkorodi@…(Subscriber)
  • jct-vc@…(Subscriber)
  • jzan@…(Reporter, Subscriber, Participant)
  • Karl Sharman(Always)
  • Karsten Suehring(Subscriber, Always)