FictionJunction YUUKA at PopJam, 2005
In a bizarre twist, the first stream under consideration is not a performance by Utada Hikaru, but rather one by Yuuka Nanri and Yuki Kajiura. Turning to Wikipedia for a brief background,
Her fourth single as FictionJunction YUUKA, Honou no Tobira, was the first seiyū single to have reached number one in the Oricon daily rankings,[9] and because of this, she was able to appear on NHK's well-known music program PopJam.
This being Wikipedia, and reference 9 being the same Wikipedia article, only in Chinese, one may wish to take the above with a grain of salt. However, to my knowledge, her appearance on NHK's PopJam is one of only two appearances on broadcast televsion, the other one being on Tokyo TV's Gekkan Melodix. Unfortunately, I don't have a transport stream of that one.
Source prep
Before the performance there was a CM for the Honoo no Tobira single, and afterwards there was a brief snippet of the show host. Using DGIndex from the DGMPGDec package, these segments were removed, leaving only the actual performance.
Saving the project with these bounds creates a D2V file, as well as a demuxed audio file with a delay parameter in the file name. Out of habit, I rename the D2V file to something shorter, but the audio file is best left alone because the delay parameter is needed for synchronization.
Lossless deinterlacing pass
Stepping through a couple frames in AvsP indicates that the footage is straight-up interlaced and thus does not need to be inverse-telecined.
In the past my deinterlacer of choice was MCBob combined with NNEDI, one of the best out there, if somewhat slow. Since then, the author of MCBob and others have developed TempGaussMC, which is purported to deliver results on par or better, if you're willing to wait.
Well I was willing to wait. I just had no concept of how much waiting was involved.
TempGaussMC itself is an AviSynth script function that calls on a suite of filters. I've listed the pre-requisites at the end of this entry. Knowing from past experience that deinterlacing was one of the most computationally intensive steps, I opted to deinterlace and decimate (toss every other output frame) straight to a lossless AVI.
I debated whether I should keep all frames for further processing, but an initial aborted pass using decimation resulted in a projected AVI size of 3 GB. Since 6 GB for two and a half minutes of 1080p at 59.94 fps was a little rich for my blood, I stuck with decimating back to 1080p at 29.97 fps.
As it turned out, the final AVI size was 3.48 GB. The video is only 2 minutes 36 seconds.
The deinterlacing pass was performed using VirutalDub with the Lagarith lossless codec, Fast Recompress mode. It took 27 hours.
That's right, 27 hours for two and a half minutes of video. I averaged 20 seconds per frame, for a blistering rendering speed of 0.05 fps.
No colorimetry changes were made since my final output resolution will be 720p or better.
Footage comments
It's dark with high intensity spotlights, and there's a fog machine. The low/high contrast setting is already trouble, and the inclusion of many small particles leads to patches of banding, most apparent in the dark red background at stage left. During close-up shots, Yuuka's left arm tends to be overexposed. The light gradient is so sharp that it looks like there's banding (maybe it is).
TempGaussMC seems to hiccup if it misses a scene change. Since it relies on motion analysis, artifacts from the next scene appear on the preceding frame. Because the explosion of blocks only lasts for a frame, it's not noticeable unless you're either paying really close attention, or are stepping through the video frame by frame.
Resizing to 720p was done using the built-in Spline64Resize filter.
At 720p, the noticeability of the blocking, and what can only be described as high ISO noise, is reduced, so I'm in no hurry to go to 1080p, because it would depress me to have to pan around the window only to see blocking artifacts in every frame.
If you're interested, the MKV file is available [MU]. The original 48 kHz AAC audio stream is included, the video encoded using x264 with a CRF of 20. The resulting video bitrate wound up being around 4.5 Mbps. Encoding time was approximately 5 hours, served from the lossless AVI.
Muxing was done by MKVToolnix. I explicitly specify the frame rate and viewing resolution of the H.264 video, and mkvmerge takes care of the audio delay by parsing it out of the file name.
Performance comments
- Yuki Kajiura on a real piano is a rare sight
- Yuuka looked tired
- Shadows beneath Yuuka's eyes didn't help any
- Some unconvincing moments in the pitch department, but not during any of the long notes
Going by sales, the most popular FictionJunction YUUKA songs are ones that took her to the upper limits of her range. Honoo no Tobira is only a notch or two down from Akatsuki no Kuruma in difficulty, and given that Yuuka has had trouble performing the latter live because of the wide register swings, this level of performance was about expected.
Possible future work
I'm open to any suggestions you may have, but the ones I'm thinking about are the following:
- Single frame editing of scene change boundaries to correct for TempGaussMC
- Motion compensated noise removal and debanding
- New round of HD encodes
Eventually, of course. I have a feeling that I started with the most challenging clip.
Appendix
Deinterlacing script:
import("TempGaussMC_beta1mod.avsi")
mpeg2source("yuuka_honoo.d2v")
TempGaussMC_beta1mod(EdiMode="NNEDI", tr2=1).SelectEven()
Deinterlacing dependencies:
- TempGaussMC with all instances of "NNEDI" replaced with "NNEDI2" (there's only a few)
- NNEDI2
- Mask Tools v2.0a36
- RemoveGrain v1.0 Pre-release
- MV Tools 2

