February 28, 2012

  • Minori Smile Seasons special vol.4

    Contents:

    1. Overview
    2. First part screens
    3. Second part sharpness
    4. Third part interlace 

     

     Today I am presenting you my rip of rare not-for-sale DVD from official Minori Chihara fanclub, 「おもひでづくり ~特別編~」. Having "4" in its name it contains recordings from three previous specials being held at Minori birthday events from 2008 to 2010. It's really nice to watch and see Minorin having fun in informal atmosphere with her team, visiting various places across Japan. The DVD is split to 3 volumes for each year's activities, the last one being split into 3 more parts for several months of events.  


    I totally loved the first part. 


    Minorin had the best style ever back then in 2008. 

    The first part, held at 2008.10 (the day is not disclosed, though being mentioned as "that certain day"), is about Minorin riding Voyager Train, the train called in the name of main song in her Parade album. It begins with Minorin being 40 minutes late for meeting with her manager waiting at station since 9:00 AM. Basically, the train rides while Minorin discusses places outside window and also sings karaoke. You can see fans waving at train outside. 

     

     
    Fuji-san de Live!

    The second one, 2009.08 (day is unknown again) is about Minorin fulfilling her dream of visiting the top of mt. Fuji to eat onigiri and look at the mist there. Begins with Minorin being late again, this time only ten minutes, however. The whole journey to the mountain and ascension is filmed and we can see her climbing rocks, singing Paradise Lost at midway and finally eating onigiri. Nice panoramas and mountain views included. Minorin was really happy there. On the other side, her manager got quite tired of climbing, even had to use canned oxygen. Really eventful part of the disc. You can read more info about second MSS volume at danie's blog: http://jouttex.otadesho.com/minoris-birthday-vol-2-report/

     

     
    what

    The third part, being held at various months of 2010, contains videos of Minorin working for and advertising "Moe-minori" brand of rice. She voiced anime-style character being the logo of the brand. The first part (May 23) was about planting rice seeds, which is firstly was done manually, then machine was used, Minorin rode it. Next one, July, they're checking plants grow. Last one, October, plants are being harvested (again first manually then by a machine) and moved to processing factory, all under Minorin's control. Next day she eats the rice she planted herself in company with shop owner family she got really attracted to. For more info, again, refer to danie's post: http://jouttex.otadesho.com/minoris-birthday-vol3-fanclub-event/

    Personally, I wasn't much satisfied with the last part, because it involved advertisement and forced Minori to work with someone other than her team. She looked noticeably nervous first time, unlike how happy she was in first two volumes. Neither it is really cool that Seiyuu have to do some anime-unrelated casual job. I heard this profession is really underpaid, which I can't believe, but facts similar to the need (?) of such kind of activities seem to prove it true. Well, after all, Minorin looked like she enjoyed working, so it is okay, I guess. 


     

      Now to the actual "making of" part. The DVD-ISO was found on chinese Minorin fanclub (http://chiharaminori.cn/), been posted by actual M.S.S. member, sandy4a. I took the ISO and made rip of it, mainly because the video quality of the ISO wasn't really DVD-high, since the recording is done in amateur-style by hand-held camera, and, more importantly, the first part has lower resolution than the rest of DVD, having black borders around image. This I couldn't stand and decided to try enhancing. Now you have to forgive me for being not exactly clear about the process of making this rip, because I actually created it long before this entry was written, about a month ago. The reason is me trying to accomplish several tasks at once and delaying release with another thing pending but never (yet) finished. I should learn time control. Therefore I will try to cover it briefly and describe only new techniques I learned and implemented while making it.

    First task was to improve contrast and fix color mess in dark areas throughout the video, which is easily done using already common methods, developed and used in previous entries. Look for ' levels="TV->PC" ' for contrast and ' tweak(sat ' for color leak control there, nothing new to tell about.

    As for the first part of video, the quality was surprisingly high for lowest resolution, so nothing really to describe here, other than that I tended to apply slight vertical blur and horizontal sharp, since there were a lot of close-up shots of Minorin with her awesome hair, so that I enhanced it while still blurring interlacing atrifacts (which are, unlike hair, horizontal). So I will rather share more screenshots.

     
    Classic Minorin hairstyle


    Obligatory photo for blog. 


     That's MY name everywhere! 


    She haven't stopped singing Voyager Train even when check-taker visited. 

     
    Did I mention about the hair?

     

    For the remaining parts I needed to fix sharpness imbalance, like I did in my previous DVD-rip. But now I am going to provide content-specific processing, that is, the one that takes into account important features of current image. I need to improve sharpness of the image in a way so that I won't enhance high-frequency noise which exists as artifacts and blocks and won't create halos around already strong edges, which separate objects. What I actually needed is "Increase local contrast" capability of Image Analyzer for video. Unfortunately I don't know whether this stuff exists, so I needed to implement something similar myself. Basically this could be accomplished by selectively sharping image with large radius in medium-frequency areas, which contain mostly actual detail and control overall impression about how sharp image is. Again, to explain it better I tried to depict sharpness levels in some way.

    Here you can see spectrum of image elements frequencies, color represents areas of wanted and unwanted sharping application.

     

    Here's how it looks on real image. 

    Closer look:

    And corresponding profile line for A-B:

    Low-frequency is the transition, separating white flame shape from orange background, mid-frequency represents useful information - letters in word "Minori" and high frequency is what we consider noise, barely noticeable at first sight, but very bitrate-consuming while having no real purpose. Therefore we need to leave first ones intact, sharpen medium and blur high-freq. To do that, I am creating several masks and combining them, like here:

    maska=mt_edge(mode="min/max",thy1=30,thy2=35) # First I select all edges strong enough to be considered low-frequent
    mblur=mt_edge(mode="prewitt",thy2=10,thy1=0).mt_invert.(mt_inflate.mt_inpand)x10 # Then I select everything else than strong edges and contract that area to get only flat areas with hi-freq noise in them, but no details.
    msharp=mt_logic(maska.mt_invert.mt_inpand, mblur, mode="xor")  # And finally I find difference between inverted first mask and second one, thus selecting everything which is not flat, but isn't edge either - details are most likely to be there.

    Here are resulting masks for sharping and blurring image:

    And processed image with its profile line:

    Noticeable difference. As you can see, task, which could be done relatively easy on still images using photo editors needs sophisticated processing in motion. For the second part of the video I also added to sharping mask one which selects dark-pink and brown colors (maskhs) - since Minorin wears baseball hat there her face is in the shadow and thus lacks clarity. 

    The third part of video needed further improvement of masks considering its special feature - it mostly consists of outdoors footage of flat areas like rice fields. These have specific form of sharpness imbalance: a lot of moving and sharp ares close to camera (stems) and mostly blurred ares on the far plane due to lack of camera quality and resolution.

     

    This distribution could easily be described with vertical gradient - which is what I need to add to existing masks.

     

     Indeed, the lighter the image gets, the further the corresonding place is from camera and the more is lack of sharpness. While it does not apply for people near camera, it doesn't matter - their faces are on the upper half of frame, which will get enhanced, and this is what we also need. The concept of processing image based on its distance from camera is similar to that used in Anisotropic Filtering in 3D games. So I just add this gradient image to existing mask like here:

    up=imagesource("up.bmp")
    msharp=mt_logic(msharp,up,mode="min").merge(up,weight=0.25) # Both limiting the mask to the range of gradient and averaging the result with it.

    Resulting mask:

    And processed image:

    Note: we can safely sharp the sky here as it is too bright to contain any significant noise.

    But that's for outdoors. As for the indoors footage, most of objects are close enough to be already sharp. What bothers us here is the lack of lightness and thus noise, produced by camera in such conditions. So instead of sharping we need to blur that noise and for that we will alter existing blurring mask. It is gradient again, but this time inverted. I hope you can imagine it being upside-down without me having to upload it too. The code is also the same except for the name of imagefile.

    Resulting image and mask for it:

     

     You see, flat areas get their blur in full, while face avoids being affected by it.

    Being done with colors and noise, there's still one problem left - interlacing. It is really frustrating that now, in 21st century, we still need to deal with the legacy of dark history times - stuff, that exists since appearance of the first TVs and cameras - and due to their inability to work fast any other way. Now we have more than enough of both processing power and bandwidth to not need these dirty tricks anymore, but even HDTV still broadcasts everything interlaced - and I bet I saw Blurays infected with it too. For more info about out enemy refer to 100fps.com.

    While there are a lot of (too much actually) existing deinterlacers in avisynth to deal with it in many possible and some impossible ways, instead of having to choose the best one I, again, decided to implement it myself based on one of the simplest ones. The idea is as follows.

    There are 2 ways of dealing with 2 fields, that make resulting interlaced  frame - either blend them together, preserving vertical resolution, or discard one and stretch another, losing vertical resolution. The former produces nasty-looking ghost outlines on fast moving objects, while the latter induces steppy diagonal lines.

     

    Arrow on the non-blended image shows direction of hand's movement. Take look at the circle of logo on top-right corner too.

    The first image is made using c0=fielddeinterlace(blend=false) and the second c1=fielddeinterlace(blend=true)

    But what if we can combine these methods, taking only best their sides? Idea is simple, realization is as always not. We can't just mix them 50/50, as blended field on the second image is 1/2 frame ahead of its stretched twin on the first one, thus looking unnatural (we expect motion trail to be behind moving objects, not in front of them), not to metion that it will solve problem only 50%, if at all. We can, however, select edges of sharp left image and using that selection paste parts of blended image on it, thus fixing blocky lines, but only on static objects, like logo. On moving ones it will partially erase edges, as on the second image they are semitransparent. But what if we can copy 2nd pic and shift it half-frame (that is, one field) back, then mixing it with the source? It will give us something like this:

    Looks even more ghostly, but now the center field is almost opaque. This is c2=merge(c1,separatefields.trim(1,0).weave.fielddeinterlace(blend=true)). Therefore we can finally apply it to the first non-blended image through the mask, without losing any details.

    Here goes the mask based on 1st pic:

     

    And resulting combined image:

     Some blurriness remained, but now it is aligned to the moving edges of the object - pretty much what we expect to see observing motion.

    Now I consider the task done, having fixed colors, levels, sharpness and interlacing of the video. Of course it still lack enjoyable quality, but the source has it too low to begin with, and the amount of processing done is more than enough to compensate for the inevitable recompressing, not to mention it generally looks better.

    Download links:

    Mediafire: http://www.mediafire.com/?g4wc2aa7qma49

    BitTorrent: http://www.nyaa.eu/?page=torrentinfo&tid=292709

Comments (1)

Post a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *