In case of decoding by a software process, in the process 1, video data of a decoded frame corresponding to a management ID stored at the head of an output FIFO 4 at its time point is read out and outputted. In the process 2, audio data is decoded. In the process 3, the video data is decoded. The decoded video data is stored in a video frame buffer and its management ID is stored in the output FIFO 4 in the outputting order. When the process 3 cannot be finished, the process 3 is interrupted during the process and the image of the frame stored at the head of the output FIFO 4 is outputted. After that, when the process 2 is finished, the decoding process of the process 3 which was temporarily interrupted is restarted. In case of performing the encoding by the software process, an encoding amount of the video data as a processing target of the encoding is predicted. Subsequently, whether an empty capacity enough to store the data of the predicted encoding amount exists in a code buffer or not is discriminated. If it is determined that there is the empty capacity, the encoding is started and the video data in which the encoding was finished is deleted from the video frame buffer. The encoding is temporarily interrupted when a reading process or the like of the video data is performed.