Understanding decoders and comparators
First let's see how to implement a function using single decoder. It is a straight-forward task having the truth table. Decoder will output 1 on the lines selected by the input, so if we just "or" the outputs corresponding to the truth table lines with X=1, we will get the exact required function:


Unfortunately there is no straightforward way to convert it to 2->4 decoders. But maybe we can divide the original function to smaller ones, suitable for 2->4 representation? Let's look at it. After some manipulations I've omitted here, the function can be represented as $$A_1B_1'+A_0B_0'(B_1'+A_1)$$
So we can see here three different 2-variable functions combined with ANDs and ORs: 
1) \$A_1B_1'\$
2) \$A_0B_0'\$ 
3) \$B_1'+A_1\$ 
while (1) and (3) are functions of the same variables and can share decoder.

So the solution would be: Implement functions (1)-(3) using the method above, and interconnect the outputs using the gates: