Professional Documents
Culture Documents
H.264 G.8 Flowchart v1
H.264 G.8 Flowchart v1
dqIdList
G.8.1.1 Derivation for layer
representation for decoding
0 1
spatResChangeFlag
currentVars is a set of
arrays defined in G.8.1.2.1
currDQId G.8.1.3.1 base decoding currDQId G.8.1.3.2 base decoding
currentVars process for layer currentVars currentVars process for layer currentVars
p4
currDQId
refLayerVars
currentVars G.8.1.3.3 target layer SL, SCb and SCr
Decoded for output.
representation decoding
(decoded picture)
p4
finish
G.8.1.3.1 base decoding process for layer representations without resolution change
0 start NOTICE:
noInterLayerPredFlag This procedure performs on
MBs in ref layer.
1
0: spatial domain inter-layer
prediction false
1: frequency domain inter- intraPredFlag true
1 0
layer prediction &&
tcoeff_level_prediction_flag
mbType[mbAddr] == AVC_INTRA
ref_layer_dq_id
mbAddr G.8.1.5.4 Macroblock decoding process
currentVars
prior to decoding a layer representation currentVars
G.8.1.2.1
currentVars G.8.1.2.2 Array currentVars currentVars currentVars
Initialization of
reconstruction G.8.1.4.1 Base decoding process for slices without resolution change
currentVars
start
false
for each slice in current layer ture
representation
currDQId == 0 && BSLICE
true
currDependencyId=0
use_ref_base_pic_flag Building ref list 1 here is for
decode a slice
false current slice G.8.2.3 SVC decoding refPicList1 compatibility with AVC B direct.
process for reference A detailed explanation can be
found here :
picture lists construction http://forum.byr.edu.cn/pc/
pccon.php?id=1727&nid=77191
&order=&tid=1329
currDQId
currentVars G.8.1.4.1 Base decoding currentVars
process for slices without
resolution change
false
for each MB in current
slice
true
decode a MB
currDQId
mbAddr
currentVars
refPicList1
G.8.1.5.2 Base decoding currentVars
process for macroblocks in
return slices without resolution change
return
G.8.1.5.2 Base decoding process for macroblocks in slices without resolution change
start
refLayerVars = currentVars
G.8.1.5.1 Macroblock currentVars
initialisation process
Inter-layer motion
mbType, subMbType,
predFlagLX, prediction
predFlagLX, refIdxLX, mvLX,
refIdxILPredLX, mvILPredLX G.8.4.1 SVC derivation process refIdxLX, mvLX
for motion vector components
and reference indices
0
I_BL
base_mode_flag
tcoeff_level_prediction_flag == 1
&& ipred4x4, ipred8x8,
true resPredFlag == 1 G.8.3.1 SVC derivation ipred16x16, ipredChroma
1
process for intra
cTrafo, tCoeffLevel, false prediction modes
tQP, refQP
G.8.5.2 Transform coefficient level tCoeffLevel
scaling process prior to transform refinementFlag=refLayerIntraBLFlag,
coefficient refinement cTrafo, sTCoeff, tCoeffLevel
G.8.5.1 Transform coefficient sTCoeff, tCoeffLevel
Inter-layer residual
prediction (frequency
domain)
0 1
resPredFlag refinementFlag=base_mode_flag,
cTrafo, sTCoeff, tCoeffLevel sTCoeff, tCoeffLevel
G.8.5.1 Transform coefficient
scaling and refinement process
re-initialisation proces
re-initialisation proces
return
G.8.1.3.2 base decoding process for layer representations with G.8.1.5.5 Macroblock decoding process prior to resolution change
resolution change
NOTICE:
start This procedure performs on
p3 start MBs in ref layer.
ture
sliceIdc, fieldMbFlag, baseModeFlag,
mbType, ipredMode, cTrSize
ref_layer_dq_id
cSL, cSCb and cSCr G.8.3.2 SVC intra sample cSL, cSCb and cSCr
mbAddr
currentVars prediction and
G.8.1.5.5 Macroblock decoding process currentVars
construction porcess
prior to resolution change accumulationFlag = 1
accumulationFlag = 0
cTrafo, sTCoeff,
cTrafo, sTCoeff,
rSL, rSCb and rSCr
G.8.5.3 Residual construction rSL, rSCb and rSCr rSL, rSCb and rSCr G.8.5.3 Residual construction rSL, rSCb and rSCr
When with resolution
change, all the inter-layer
and accumulation process and accumulation process
predictions are spatial, so
rec samples (for intra) and Parameter accumulationFlag=1 means
res samples (for inter) of reconstructed residual sample should be
ref layer should be decoded combined with existent residual sample,
in advance. which were obtained from lower layer.
false
for each slice in current layer
representation
true
G.8.1.4.2 Base decoding process for slices with resolution change
decode a slice
start
currDQId
refLayerVars
currentVars
G.8.1.4.2 Base decoding currentVars CroppingChangeFlag == 1 &&
ture
false
return for each MB in current
slice
true
currDQId decode a MB
mbAddr
refLayerVars
currentVars
refPicList0&1 G.8.1.5.3 Base decoding currentVars
process for macroblocks in
slices with resolution change
return
G.8.1.5.3 Base decoding process for macroblocks in slices with resolution change
start
refLayerVars = currentVars
G.8.1.5.1 Macroblock currentVars
initialisation process
Inter-layer motion
upsample
mbType, subMbType,
predFlagLX, refIdxLX, mvLX, predFlagLX,
refIdxILPredLX, mvILPredLX G.8.4.1 SVC derivation process refIdxLX, mvLX
for motion vector components
and reference indices
1
intraResamplingFlag
Inter-layer intra
refLayerSliceIdc
upsample
refLayerMbType
refSL, refSCb and refSCr cSL, cSCb and cSCr
0 cSL, cSCb and cSCr G.8.6.2 Resampling
process for intra samples
0
fieldMbFlag ELSE base_mode_flag
refLayerFieldMbFlag (I_BL, INTER && residual_prediction_flag == 0)
refLayerCTrafo
refRL, refRCb and refRCr rSL, rSCb and rSCr
rSL, rSCb and rSCr G.8.6.3 Resampling process for 1 ipred4x4, ipred8x8,
G.8.3.1 SVC derivation ipred16x16, ipredChroma
residual samples
process for intra
prediction modes
Inter-layer residual
upsample
refinementFlag=0,
cTrafo, sTCoeff, tCoeffLevel sTCoeff, tCoeffLevel
G.8.5.1 Transform coefficient
scaling and refinement process
return
G.8.1.5.6 Target macroblock decoding process
G.8.1.3.3 Target layer representation decoding process
p4 start
start
true
tcoeff_level_prediction_flag == 1
true &&
(sliceIdc[ mbAddr ] &127 )!=currDQId
false true
(PSLICE || BSLICE)
&& G.8.5.2 Transform coefficient level
FirstMBinSLice
scaling process prior to transform
coefficient refinement
currDependencyId=dependency_id
refPicList0
use_ref_base_pic_flag
current slice G.8.2.3 SVC decoding refPicList1
true
process for reference
picture lists construction
G.8.5.1 Transform coefficient
scaling and refinement process
decode a MB
currDQId
currentVars G.8.1.5.6 Target currentVars
macroblock decoding
ELSE (INTER) I_BL
process mbType[mbAddr]
AVC_INTRA
return