AutoStakkertの「品質評価」を評価する ― 2025/05/10
長年に渡って月や惑星、太陽のスタックに使ってきたAutoStakkert!(以下AS)ですが、どうにも品質選定やスタッキングで思い通りにいかにないことが多く、気になっていました。良画像が弾かれたり、弾くべき画像が残ったり…。数十フレーム程度なら力技で除外できることも、惑星などは一度に数万フレームも撮るので見返すことすらできません。世界中で使われているソフトですし、ケチをつけるつもりもありませんが、みなさんは品質選定の精度についてどう感じますか?(※スタック精度とは別のことです。)
ある時ふと、撮影動画ではなくゼロから生成したSER動画をASにかければ評価アルゴリズムの優劣を客観的に判断できるのではないかと思いつきました。しばらく頭で寝かせておいたアイディアですが、明け方の土星撮影を機に「評価用SERファイル」を作って試すことにしました。
個人的には空や天文そのものを題材にしたいため、ブログに機材やソフトなどの「裏方」を引っ張り出してあれこれ書くのは極力避けているのですが、偶然にも「ほしぞloveログ」のSamさんが「serファイルの上位フレームの選択」についての記事を書かれていたので、良いタイミングと思い、現状で私が実験したことを簡単な記事にしておきます。
今回作った評価用SERは曖昧さを排除するため、何かの流用ではなく自作プログラムで完全にゼロから作りました。まず白黒8ビット・500×500ピクセルの黒背景に半径100ピクセル・レベル(以下LV)200の円を描き、一定の処理を経て「中央がLV200のまま、縁がLV0になる」ようなグラデーション円像にします。これを動画1フレーム目として、100フレームを保有する4種のSERを以下の通り生成させました。左上図はガウスぼかし1フレーム目ですが、他のSERも1フレーム目はこれと一緒です。
下A・B・C図はそれぞれの動画の100フレーム目、下D図はドリフト量の大きなフレーム例です。ヒストグラムを比べていただければ動画の状態や、どんな意図で作ったかが分かるでしょう。
ガウスぼかしでは全体がぼけて大きくなる代わりに暗くなります。いわゆるPSFが平坦に広がる星空をシミュレートしたようなもので、シーイングがすこぶる悪い状態ではこんな見え方ですね。ASではありませんが、カメラや動画界隈で使われる有名な評価アルゴリズムのひとつに、ラプラシアン・フィルターを使う方法があります。(ハードウェアのフィルターではなく、数学的な処理のことです。)これも偶然ながらつい先日に天リフさんのブログコーナーでJUN1WATAさんのブログが紹介されており、ラプラシアン・フィルターを使ったプログラムで太陽動画の良像を選別しつつ動画を作る記事が掲載されていました。ラプラシアン関数は比較的手軽に鮮明さやボケ具合を数値で評価することができます。
背景レベルアップと全体レベルアップは違う効果をもたらします。背景のみの場合はカメラをだんだん温めてアンプノイズを増やすような状況で、言わば洪水のように高地の高さは変わらないため島として残っているけれど、浸水域がだんだん高いところに迫るような状態。対して全体レベルアップは光害や薄明が進むような「全域にゲタを履かせる」ケースで、洪水なのに地形ごと浮いてしまい上限に達したところは白飛びになります。(今回は白飛びしない範囲にほぼ抑えています。)また、ランダムドリフトは位置だけがかわるので、円像そのものは全フレーム一緒、つまり画質評価は本来変わってはいけないことになります。
この四種をそれぞれASにかけるのですが、ASは評価の段階でSurfaceモードとPlanetモードを持っており、またSurfaceモードもimage stabilization anchor(右画像、右側プレビューウインドウの緑矩形)の大きさや置く場所によって評価が変わる可能性があります。(※実際、変わってしまいました。)相当たくさん実験したのですが結果が膨大過ぎてブログに書き切れないため、要点のみ抜粋して書いておきます。
ということで、ガラにもなくソフトウェアの評価をしてしまいました。円像の中に模様があったらどうかとか、位置は変えずに円周が変形したらどうかとか、カラーで青と赤が違う方向にずれたらどうかとか、試したいことは山ほどあります。他のスタックソフトとも比較したいし、そんな時間があったら自力で評価アルゴリズムを組んでしまいたいという気持ちもあります。実際の天体を撮影した動画では品質評価やスタック不良の原因が複雑に絡んで特定しづらいため、こうした評価用SERを使った実験は今後も続けたいと思います。
ある時ふと、撮影動画ではなくゼロから生成したSER動画をASにかければ評価アルゴリズムの優劣を客観的に判断できるのではないかと思いつきました。しばらく頭で寝かせておいたアイディアですが、明け方の土星撮影を機に「評価用SERファイル」を作って試すことにしました。
個人的には空や天文そのものを題材にしたいため、ブログに機材やソフトなどの「裏方」を引っ張り出してあれこれ書くのは極力避けているのですが、偶然にも「ほしぞloveログ」のSamさんが「serファイルの上位フレームの選択」についての記事を書かれていたので、良いタイミングと思い、現状で私が実験したことを簡単な記事にしておきます。
今回作った評価用SERは曖昧さを排除するため、何かの流用ではなく自作プログラムで完全にゼロから作りました。まず白黒8ビット・500×500ピクセルの黒背景に半径100ピクセル・レベル(以下LV)200の円を描き、一定の処理を経て「中央がLV200のまま、縁がLV0になる」ようなグラデーション円像にします。これを動画1フレーム目として、100フレームを保有する4種のSERを以下の通り生成させました。左上図はガウスぼかし1フレーム目ですが、他のSERも1フレーム目はこれと一緒です。
- ガウスぼかし:グラデーション円像をだんだんぼかしてゆく。
- 背景レベルアップ:背景のみだんだん上昇する。
- 全体レベルアップ:グラデーション円像を含めた全体のレベルが上昇する。
- ランダムドリフト:グラデーション円像の中心位置のみがランダムに変化(画像中央基準にガウス分布)。
下A・B・C図はそれぞれの動画の100フレーム目、下D図はドリフト量の大きなフレーム例です。ヒストグラムを比べていただければ動画の状態や、どんな意図で作ったかが分かるでしょう。
ガウスぼかしでは全体がぼけて大きくなる代わりに暗くなります。いわゆるPSFが平坦に広がる星空をシミュレートしたようなもので、シーイングがすこぶる悪い状態ではこんな見え方ですね。ASではありませんが、カメラや動画界隈で使われる有名な評価アルゴリズムのひとつに、ラプラシアン・フィルターを使う方法があります。(ハードウェアのフィルターではなく、数学的な処理のことです。)これも偶然ながらつい先日に天リフさんのブログコーナーでJUN1WATAさんのブログが紹介されており、ラプラシアン・フィルターを使ったプログラムで太陽動画の良像を選別しつつ動画を作る記事が掲載されていました。ラプラシアン関数は比較的手軽に鮮明さやボケ具合を数値で評価することができます。
背景レベルアップと全体レベルアップは違う効果をもたらします。背景のみの場合はカメラをだんだん温めてアンプノイズを増やすような状況で、言わば洪水のように高地の高さは変わらないため島として残っているけれど、浸水域がだんだん高いところに迫るような状態。対して全体レベルアップは光害や薄明が進むような「全域にゲタを履かせる」ケースで、洪水なのに地形ごと浮いてしまい上限に達したところは白飛びになります。(今回は白飛びしない範囲にほぼ抑えています。)また、ランダムドリフトは位置だけがかわるので、円像そのものは全フレーム一緒、つまり画質評価は本来変わってはいけないことになります。
この四種をそれぞれASにかけるのですが、ASは評価の段階でSurfaceモードとPlanetモードを持っており、またSurfaceモードもimage stabilization anchor(右画像、右側プレビューウインドウの緑矩形)の大きさや置く場所によって評価が変わる可能性があります。(※実際、変わってしまいました。)相当たくさん実験したのですが結果が膨大過ぎてブログに書き切れないため、要点のみ抜粋して書いておきます。
★ガウスぼかし
この動画は概ね「ぼけるほど品質が低い」という予想通りになりました(下E画像)。ただしコマ送りで見ると、必ずしも順番通りにならないところがあり、特に上位で入れ替わる傾向が大きいです。Surfaceモードでstabilization anchorの大きさや位置によっても順位の変化がありました。またこれくらいの大きさの像ではPlanetモードのほうが良いようです。プレビューの赤塗り部分は位置ずれが大きい方向に出ますが、円像の位置は全く変えていないので、中心がアンカー内にあっても大きくぼけると位置がずれていると誤判断していることが分かります。(スタビライズが品質に影響すると言うことです。)
★背景レベルアップ
円像の位置は変わってませんが、ガウスぼかし以上に上位の順番入れ替わりが多かったです。一番コントラストが良いはずの動画の先頭約10フレームの評価が何故か下がっていました(下F画像)。原因不明。面白いのは、プレビューの赤塗りが全方向に均等に発生したことです。これはガウスぼかしと違う結果ですね。一番明るいのは円の中央ですがLV200は変わりませんので、何がこのずれを引き起こしたのか疑問。まぁ、コントラストがどんどん低くなってるので、それ以外の原因は考えられないわけですが…。
★全体レベルアップ
各フレーム内で最低LVと最高LVの差は一定なのですが(最後の10フレームをのぞく)、SurfaceとPlanetとで評価が大きく変わってしまいました(下G1・G2画像)。Surfaceモードでは極端な階段状になっており、何が原因かさっぱり分かりません。またPlanetモードでは中心が白飛びしているラスト10フレーム以外すべて最高評価で、これは予想通り。Planetモードの品質評価はコントラストが支配的ということですね。白飛びが評価を下げることも分かりました。どちらのモードも位置ずれは極めて少なく、赤塗りが目立ちませんでした。
★ランダムドリフト
SurfaceとPlanetで似たような階段状評価なのですが、評価値や階段位置(フレーム数)が異なりました(下H1・H2画像)。Quality Graphを見ると、4種のSERのなかで灰色線と緑線とが最も異なる状態でした。円像そのものは不変ですから評価が一定にならなければ困る動画なのに、こんなにブレブレ。ということはガウスぼかし同様にスタビライズが品質に大きく影響するのですね。赤塗りもSurfaceとPlanetとで出方や量が異なっています。フレームごとに見るとPlanetのほうが精度良く位置合わせができていました。ピントが鋭く出て、狭い二重星もしっかり分離、惑星模様も良く見え変形も皆無なのに、細かい揺れが動画全体を包んでいるような撮影は低評価、ということでしょうか。星像の振動は必ずしも大気シンチレーション起因とは限らず、風、地震、車両交通、ガイドエラーなども考えられます。ただ、今回の評価用SERでは別な円との相対位置などを比較している訳ではないので、個人的にはちょっと納得できない結果でした。
ということで、ガラにもなくソフトウェアの評価をしてしまいました。円像の中に模様があったらどうかとか、位置は変えずに円周が変形したらどうかとか、カラーで青と赤が違う方向にずれたらどうかとか、試したいことは山ほどあります。他のスタックソフトとも比較したいし、そんな時間があったら自力で評価アルゴリズムを組んでしまいたいという気持ちもあります。実際の天体を撮影した動画では品質評価やスタック不良の原因が複雑に絡んで特定しづらいため、こうした評価用SERを使った実験は今後も続けたいと思います。
旧正月と立春 ― 2025/01/29
本日は新月日。瞬時は21:35:58なので夜になってからですね。今年の新月と太陽との位置関係は左図のとおり。5・6月は北側に離れ、11・12月は南側に離れ、太陽至近を通るのは3月と9月です。ご覧の通り日本で日食が見えるタイミングではありませんが、3月はヨーロッパやロシア北西部、アフリカ北西部、グリーンランドなどで部分日食(サロス149)、9月はニュージーランドや南極の一部で部分日食(サロス154)になります。
さて、新暦でも旧暦でも今年最初の新月なので、本日は旧暦の正月(旧正月)と言うことになります。まもなく立春を迎えますが、立春と旧暦元日とのタイミングが近いことから様々な呼び名や考え方が生まれ、親しまれてきたようです。
以前に朔旦冬至というのを紹介しました。月始まりを示す新月日(朔)と、古くに年始まりとされた冬至が同一日(または非常に近い日)になることを表し、概ね19年周期で訪れます。似たように、年初めの朔(旧暦元日)と立春が同じタイミングになることは「朔旦立春」と言われ、おめでたい日として扱われました。現代の暦ルールに従って計算すると、立春は狭い日時に比較的規則正しく集約され、2000年代なら2月3日または4日です(下A図/赤丸は朔旦立春)。いっぽう旧暦元日は規則はあるものの、かなり広範囲に分布することが分かります(下B図)。このため、朔旦立春の出現は間隔が大きく不規則になりがちで、単純に○○年周期とは言えません。しかも不思議なことに2000年代は2038年の一回のみ。何だか不安になっちゃいますね…。
朔旦立春にならない年は、立春前に旧正月が来るか、立春後に旧正月を迎えるかに分かれます。前者は「新年立春」、後者は「年内立春」と呼ばれます。また年によっては旧暦年初と年末の二回立春になったり、年初・年末とも立春が来ないことがあります。二回立春がある年は「双春年」、全く無い年は「無春年」と呼ばれ、結婚を控えたりする風習もあったとのこと。
今回は旧暦と立春の関係・分類を1600年から2400年まで計算して調べました。結果の一部を記事下表に掲載しておきます。よくよく見ると、日付や新年立春の出現などに19年のパターン(メトン周期)が現れていて面白い。このことが分かり易いよう表内に「周期性」欄にインデックスを振っておきました。(※この番号自体に意味はありません。)たとえば3のインデックス行は毎回旧暦1月9・10日ごろで、新年立春・双春年である、と言った具合。とは言え、日付まで完全に一致するわけではなく、朔旦冬至と同様に“近い日”になるだけです。(日付が完全一致するなら朔旦立春の周期も19年になるはず。)
今年は今日の正月の後に立春が来ますから「新年立春」、そして2026年は年内立春なので旧暦2025年末にもう一回立春を迎えることになり、「双春年」でもあります。月の満ち欠けで一年の暦をまとめる旧暦と太陽・地球間の運動に基づく近代の暦との間には、まだまだ奥深い文化があるようです。
参考:
日出没・暦関連の記事(ブログ内)
さて、新暦でも旧暦でも今年最初の新月なので、本日は旧暦の正月(旧正月)と言うことになります。まもなく立春を迎えますが、立春と旧暦元日とのタイミングが近いことから様々な呼び名や考え方が生まれ、親しまれてきたようです。
以前に朔旦冬至というのを紹介しました。月始まりを示す新月日(朔)と、古くに年始まりとされた冬至が同一日(または非常に近い日)になることを表し、概ね19年周期で訪れます。似たように、年初めの朔(旧暦元日)と立春が同じタイミングになることは「朔旦立春」と言われ、おめでたい日として扱われました。現代の暦ルールに従って計算すると、立春は狭い日時に比較的規則正しく集約され、2000年代なら2月3日または4日です(下A図/赤丸は朔旦立春)。いっぽう旧暦元日は規則はあるものの、かなり広範囲に分布することが分かります(下B図)。このため、朔旦立春の出現は間隔が大きく不規則になりがちで、単純に○○年周期とは言えません。しかも不思議なことに2000年代は2038年の一回のみ。何だか不安になっちゃいますね…。
朔旦立春にならない年は、立春前に旧正月が来るか、立春後に旧正月を迎えるかに分かれます。前者は「新年立春」、後者は「年内立春」と呼ばれます。また年によっては旧暦年初と年末の二回立春になったり、年初・年末とも立春が来ないことがあります。二回立春がある年は「双春年」、全く無い年は「無春年」と呼ばれ、結婚を控えたりする風習もあったとのこと。
今回は旧暦と立春の関係・分類を1600年から2400年まで計算して調べました。結果の一部を記事下表に掲載しておきます。よくよく見ると、日付や新年立春の出現などに19年のパターン(メトン周期)が現れていて面白い。このことが分かり易いよう表内に「周期性」欄にインデックスを振っておきました。(※この番号自体に意味はありません。)たとえば3のインデックス行は毎回旧暦1月9・10日ごろで、新年立春・双春年である、と言った具合。とは言え、日付まで完全に一致するわけではなく、朔旦冬至と同様に“近い日”になるだけです。(日付が完全一致するなら朔旦立春の周期も19年になるはず。)
今年は今日の正月の後に立春が来ますから「新年立春」、そして2026年は年内立春なので旧暦2025年末にもう一回立春を迎えることになり、「双春年」でもあります。月の満ち欠けで一年の暦をまとめる旧暦と太陽・地球間の運動に基づく近代の暦との間には、まだまだ奥深い文化があるようです。
【立春の種類】
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
|---|---|---|---|---|---|
| 1950年 | 2月4日 18:20:32 | 1949年12月18日 | 年内立春 | 単春年 | 1 |
| 1951年 | 2月5日 00:13:13 | 1950年12月29日 | 年内立春 | 無春年 | 2 |
| 1952年 | 2月5日 05:52:40 | 1952年1月10日 | 新年立春 | 双春年 | 3 |
| 1953年 | 2月4日 11:45:40 | 1952年12月21日 | 年内立春 | 無春年 | 4 |
| 1954年 | 2月4日 17:30:29 | 1954年1月1日 | 朔旦立春 | 単春年 | 5 |
| 1955年 | 2月4日 23:17:24 | 1955年1月12日 | 新年立春 | 双春年 | 6 |
| 1956年 | 2月5日 05:11:43 | 1955年12月24日 | 年内立春 | 無春年 | 7 |
| 1957年 | 2月4日 10:54:26 | 1957年1月5日 | 新年立春 | 双春年 | 8 |
| 1958年 | 2月4日 16:49:00 | 1957年12月16日 | 年内立春 | 単春年 | 9 |
| 1959年 | 2月4日 22:42:00 | 1958年12月27日 | 年内立春 | 無春年 | 10 |
| 1960年 | 2月5日 04:22:58 | 1960年1月9日 | 新年立春 | 双春年 | 11 |
| 1961年 | 2月4日 10:22:15 | 1960年12月19日 | 年内立春 | 単春年 | 12 |
| 1962年 | 2月4日 16:17:12 | 1961年12月30日 | 年内立春 | 無春年 | 13 |
| 1963年 | 2月4日 22:07:36 | 1963年1月11日 | 新年立春 | 双春年 | 14 |
| 1964年 | 2月5日 04:04:47 | 1963年12月22日 | 年内立春 | 無春年 | 15 |
| 1965年 | 2月4日 09:45:59 | 1965年1月3日 | 新年立春 | 単春年 | 16 |
| 1966年 | 2月4日 15:37:43 | 1966年1月14日 | 新年立春 | 双春年 | 17 |
| 1967年 | 2月4日 21:30:44 | 1966年12月25日 | 年内立春 | 無春年 | 18 |
| 1968年 | 2月5日 03:07:19 | 1968年1月7日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
| 1969年 | 2月4日 08:58:49 | 1968年12月18日 | 年内立春 | 単春年 | 1 |
| 1970年 | 2月4日 14:45:42 | 1969年12月28日 | 年内立春 | 無春年 | 2 |
| 1971年 | 2月4日 20:25:22 | 1971年1月9日 | 新年立春 | 双春年 | 3 |
| 1972年 | 2月5日 02:20:11 | 1971年12月21日 | 年内立春 | 無春年 | 4 |
| 1973年 | 2月4日 08:04:10 | 1973年1月2日 | 新年立春 | 単春年 | 5 |
| 1974年 | 2月4日 14:00:04 | 1974年1月13日 | 新年立春 | 双春年 | 6 |
| 1975年 | 2月4日 19:59:10 | 1974年12月24日 | 年内立春 | 無春年 | 7 |
| 1976年 | 2月5日 01:39:27 | 1976年1月6日 | 新年立春 | 双春年 | 8 |
| 1977年 | 2月4日 07:33:23 | 1976年12月17日 | 年内立春 | 単春年 | 9 |
| 1978年 | 2月4日 13:26:57 | 1977年12月27日 | 年内立春 | 無春年 | 10 |
| 1979年 | 2月4日 19:12:17 | 1979年1月8日 | 新年立春 | 双春年 | 11 |
| 1980年 | 2月5日 01:09:27 | 1979年12月19日 | 年内立春 | 単春年 | 12 |
| 1981年 | 2月4日 06:55:23 | 1980年12月30日 | 年内立春 | 無春年 | 13 |
| 1982年 | 2月4日 12:45:28 | 1982年1月11日 | 新年立春 | 双春年 | 14 |
| 1983年 | 2月4日 18:39:41 | 1982年12月22日 | 年内立春 | 無春年 | 15 |
| 1984年 | 2月5日 00:18:44 | 1984年1月4日 | 新年立春 | 双春年 | 16 |
| 1985年 | 2月4日 06:11:47 | 1984年12月15日 | 年内立春 | 単春年 | 17 |
| 1986年 | 2月4日 12:07:41 | 1985年12月26日 | 年内立春 | 無春年 | 18 |
| 1987年 | 2月4日 17:51:39 | 1987年1月7日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
| 1988年 | 2月4日 23:42:48 | 1987年12月17日 | 年内立春 | 単春年 | 1 |
| 1989年 | 2月4日 05:27:09 | 1988年12月28日 | 年内立春 | 無春年 | 2 |
| 1990年 | 2月4日 11:13:59 | 1990年1月9日 | 新年立春 | 双春年 | 3 |
| 1991年 | 2月4日 17:08:23 | 1990年12月20日 | 年内立春 | 無春年 | 4 |
| 1992年 | 2月4日 22:48:16 | 1992年1月1日 | 朔旦立春 | 単春年 | 5 |
| 1993年 | 2月4日 04:37:08 | 1993年1月13日 | 新年立春 | 双春年 | 6 |
| 1994年 | 2月4日 10:30:55 | 1993年12月24日 | 年内立春 | 無春年 | 7 |
| 1995年 | 2月4日 16:12:50 | 1995年1月5日 | 新年立春 | 双春年 | 8 |
| 1996年 | 2月4日 22:07:51 | 1995年12月16日 | 年内立春 | 単春年 | 9 |
| 1997年 | 2月4日 04:01:57 | 1996年12月27日 | 年内立春 | 無春年 | 10 |
| 1998年 | 2月4日 09:56:50 | 1998年1月8日 | 新年立春 | 双春年 | 11 |
| 1999年 | 2月4日 15:57:02 | 1998年12月18日 | 年内立春 | 単春年 | 12 |
| 2000年 | 2月4日 21:40:22 | 1999年12月29日 | 年内立春 | 無春年 | 13 |
| 2001年 | 2月4日 03:28:49 | 2001年1月12日 | 新年立春 | 双春年 | 14 |
| 2002年 | 2月4日 09:24:05 | 2001年12月23日 | 年内立春 | 無春年 | 15 |
| 2003年 | 2月4日 15:05:19 | 2003年1月4日 | 新年立春 | 単春年 | 16 |
| 2004年 | 2月4日 20:56:12 | 2004年1月14日 | 新年立春 | 双春年 | 17 |
| 2005年 | 2月4日 02:43:02 | 2004年12月26日 | 年内立春 | 無春年 | 18 |
| 2006年 | 2月4日 08:27:16 | 2006年1月7日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
| 2007年 | 2月4日 14:18:12 | 2006年12月17日 | 年内立春 | 単春年 | 1 |
| 2008年 | 2月4日 20:00:24 | 2007年12月28日 | 年内立春 | 無春年 | 2 |
| 2009年 | 2月4日 01:49:47 | 2009年1月10日 | 新年立春 | 双春年 | 3 |
| 2010年 | 2月4日 07:47:50 | 2009年12月21日 | 年内立春 | 無春年 | 4 |
| 2011年 | 2月4日 13:32:56 | 2011年1月2日 | 新年立春 | 単春年 | 5 |
| 2012年 | 2月4日 19:22:23 | 2012年1月13日 | 新年立春 | 双春年 | 6 |
| 2013年 | 2月4日 01:13:25 | 2012年12月24日 | 年内立春 | 無春年 | 7 |
| 2014年 | 2月4日 07:03:16 | 2014年1月5日 | 新年立春 | 双春年 | 8 |
| 2015年 | 2月4日 12:58:28 | 2014年12月16日 | 年内立春 | 単春年 | 9 |
| 2016年 | 2月4日 18:46:02 | 2015年12月26日 | 年内立春 | 無春年 | 10 |
| 2017年 | 2月4日 00:34:03 | 2017年1月8日 | 新年立春 | 双春年 | 11 |
| 2018年 | 2月4日 06:28:29 | 2017年12月19日 | 年内立春 | 単春年 | 12 |
| 2019年 | 2月4日 12:14:19 | 2018年12月30日 | 年内立春 | 無春年 | 13 |
| 2020年 | 2月4日 18:03:19 | 2020年1月11日 | 新年立春 | 双春年 | 14 |
| 2021年 | 2月3日 23:58:47 | 2020年12月22日 | 年内立春 | 無春年 | 15 |
| 2022年 | 2月4日 05:50:47 | 2022年1月4日 | 新年立春 | 単春年 | 16 |
| 2023年 | 2月4日 11:42:33 | 2023年1月14日 | 新年立春 | 双春年 | 17 |
| 2024年 | 2月4日 17:27:07 | 2023年12月25日 | 年内立春 | 無春年 | 18 |
| 2025年 | 2月3日 23:10:28 | 2025年1月6日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
| 2026年 | 2月4日 05:02:07 | 2025年12月17日 | 年内立春 | 単春年 | 1 |
| 2027年 | 2月4日 10:46:18 | 2026年12月28日 | 年内立春 | 無春年 | 2 |
| 2028年 | 2月4日 16:31:14 | 2028年1月9日 | 新年立春 | 双春年 | 3 |
| 2029年 | 2月3日 22:20:46 | 2028年12月20日 | 年内立春 | 無春年 | 4 |
| 2030年 | 2月4日 04:08:28 | 2030年1月2日 | 新年立春 | 単春年 | 5 |
| 2031年 | 2月4日 09:58:18 | 2031年1月13日 | 新年立春 | 双春年 | 6 |
| 2032年 | 2月4日 15:48:57 | 2031年12月23日 | 年内立春 | 無春年 | 7 |
| 2033年 | 2月3日 21:41:35 | 2033年1月4日 | 新年立春 | 双春年 | 8 |
| 2034年 | 2月4日 03:41:10 | 2033年12月16日 | 年内立春 | 単春年 | 9 |
| 2035年 | 2月4日 09:31:34 | 2034年12月26日 | 年内立春 | 無春年 | 10 |
| 2036年 | 2月4日 15:19:56 | 2036年1月8日 | 新年立春 | 双春年 | 11 |
| 2037年 | 2月3日 21:11:38 | 2036年12月19日 | 年内立春 | 無春年 | 12 |
| 2038年 | 2月4日 03:03:49 | 2038年1月1日 | 朔旦立春 | 単春年 | 13 |
| 2039年 | 2月4日 08:52:56 | 2039年1月12日 | 新年立春 | 双春年 | 14 |
| 2040年 | 2月4日 14:39:55 | 2039年12月22日 | 年内立春 | 無春年 | 15 |
| 2041年 | 2月3日 20:25:11 | 2041年1月3日 | 新年立春 | 単春年 | 16 |
| 2042年 | 2月4日 02:12:54 | 2042年1月14日 | 新年立春 | 双春年 | 17 |
| 2043年 | 2月4日 07:58:49 | 2042年12月25日 | 年内立春 | 無春年 | 18 |
| 2044年 | 2月4日 13:44:21 | 2044年1月6日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
| 2045年 | 2月3日 19:36:22 | 2044年12月17日 | 年内立春 | 単春年 | 1 |
| 2046年 | 2月4日 01:31:10 | 2045年12月29日 | 年内立春 | 無春年 | 2 |
| 2047年 | 2月4日 07:18:08 | 2047年1月10日 | 新年立春 | 双春年 | 3 |
| 2048年 | 2月4日 13:04:44 | 2047年12月21日 | 年内立春 | 無春年 | 4 |
| 2049年 | 2月3日 18:53:31 | 2049年1月2日 | 新年立春 | 単春年 | 5 |
| 2050年 | 2月4日 00:43:55 | 2050年1月13日 | 新年立春 | 双春年 | 6 |
| 2051年 | 2月4日 06:36:18 | 2050年12月23日 | 年内立春 | 無春年 | 7 |
| 2052年 | 2月4日 12:23:10 | 2052年1月4日 | 新年立春 | 双春年 | 8 |
| 2053年 | 2月3日 18:13:17 | 2052年12月15日 | 年内立春 | 単春年 | 9 |
| 2054年 | 2月4日 00:08:12 | 2053年12月27日 | 年内立春 | 無春年 | 10 |
| 2055年 | 2月4日 05:56:07 | 2055年1月8日 | 新年立春 | 双春年 | 11 |
| 2056年 | 2月4日 11:47:29 | 2055年12月19日 | 年内立春 | 単春年 | 12 |
| 2057年 | 2月3日 17:42:53 | 2056年12月30日 | 年内立春 | 無春年 | 13 |
| 2058年 | 2月3日 23:34:53 | 2058年1月11日 | 新年立春 | 双春年 | 14 |
| 2059年 | 2月4日 05:24:23 | 2058年12月22日 | 年内立春 | 無春年 | 15 |
| 2060年 | 2月4日 11:08:38 | 2060年1月3日 | 新年立春 | 単春年 | 16 |
| 2061年 | 2月3日 16:54:12 | 2061年1月13日 | 新年立春 | 双春年 | 17 |
| 2062年 | 2月3日 22:47:33 | 2061年12月24日 | 年内立春 | 無春年 | 18 |
| 2063年 | 2月4日 04:31:43 | 2063年1月7日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
| 2064年 | 2月4日 10:15:24 | 2063年12月18日 | 年内立春 | 単春年 | 1 |
| 2065年 | 2月3日 16:04:16 | 2064年12月28日 | 年内立春 | 無春年 | 2 |
| 2066年 | 2月3日 21:49:59 | 2066年1月9日 | 新年立春 | 双春年 | 3 |
| 2067年 | 2月4日 03:37:59 | 2066年12月21日 | 年内立春 | 無春年 | 4 |
| 2068年 | 2月4日 09:29:43 | 2068年1月2日 | 新年立春 | 単春年 | 5 |
| 2069年 | 2月3日 15:21:33 | 2069年1月12日 | 新年立春 | 双春年 | 6 |
| 2070年 | 2月3日 21:22:35 | 2069年12月23日 | 年内立春 | 無春年 | 7 |
| 2071年 | 2月4日 03:11:38 | 2071年1月5日 | 新年立春 | 双春年 | 8 |
| 2072年 | 2月4日 08:57:50 | 2071年12月16日 | 年内立春 | 単春年 | 9 |
| 2073年 | 2月3日 14:53:37 | 2072年12月27日 | 年内立春 | 無春年 | 10 |
| 2074年 | 2月3日 20:42:11 | 2074年1月8日 | 新年立春 | 双春年 | 11 |
| 2075年 | 2月4日 02:31:32 | 2074年12月19日 | 年内立春 | 単春年 | 12 |
| 2076年 | 2月4日 08:20:52 | 2075年12月30日 | 年内立春 | 無春年 | 13 |
| 2077年 | 2月3日 14:04:07 | 2077年1月11日 | 新年立春 | 双春年 | 14 |
| 2078年 | 2月3日 19:58:25 | 2077年12月21日 | 年内立春 | 無春年 | 15 |
| 2079年 | 2月4日 01:44:17 | 2079年1月3日 | 新年立春 | 単春年 | 16 |
| 2080年 | 2月4日 07:29:06 | 2080年1月14日 | 新年立春 | 双春年 | 17 |
| 2081年 | 2月3日 13:27:07 | 2080年12月25日 | 年内立春 | 無春年 | 18 |
| 2082年 | 2月3日 19:13:26 | 2082年1月6日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
| 2083年 | 2月4日 00:59:38 | 2082年12月18日 | 年内立春 | 単春年 | 1 |
| 2084年 | 2月4日 06:47:56 | 2083年12月28日 | 年内立春 | 無春年 | 2 |
| 2085年 | 2月3日 12:31:13 | 2085年1月9日 | 新年立春 | 双春年 | 3 |
| 2086年 | 2月3日 18:27:49 | 2085年12月20日 | 年内立春 | 無春年 | 4 |
| 2087年 | 2月4日 00:16:37 | 2087年1月2日 | 新年立春 | 単春年 | 5 |
| 2088年 | 2月4日 05:59:36 | 2088年1月12日 | 新年立春 | 双春年 | 6 |
| 2089年 | 2月3日 11:56:08 | 2088年12月23日 | 年内立春 | 無春年 | 7 |
| 2090年 | 2月3日 17:43:48 | 2090年1月5日 | 新年立春 | 双春年 | 8 |
| 2091年 | 2月3日 23:32:23 | 2090年12月15日 | 年内立春 | 単春年 | 9 |
| 2092年 | 2月4日 05:30:26 | 2091年12月27日 | 年内立春 | 無春年 | 10 |
| 2093年 | 2月3日 11:20:14 | 2093年1月8日 | 新年立春 | 双春年 | 11 |
| 2094年 | 2月3日 17:18:45 | 2093年12月18日 | 年内立春 | 単春年 | 12 |
| 2095年 | 2月3日 23:08:49 | 2094年12月29日 | 年内立春 | 無春年 | 13 |
| 2096年 | 2月4日 04:48:39 | 2096年1月11日 | 新年立春 | 双春年 | 14 |
| 2097年 | 2月3日 10:43:49 | 2096年12月21日 | 年内立春 | 無春年 | 15 |
| 2098年 | 2月3日 16:30:52 | 2098年1月3日 | 新年立春 | 単春年 | 16 |
| 2099年 | 2月3日 22:11:25 | 2099年1月14日 | 新年立春 | 双春年 | 17 |
| 2100年 | 2月4日 04:02:13 | 2099年12月26日 | 年内立春 | 無春年 | 18 |
| 2101年 | 2月4日 09:41:53 | 2101年1月7日 | 新年立春 | 双春年 | 19 |
| 年 | 立春瞬時(JST) | 旧暦 | 朔旦判定 | 単双判定 | 周期性 |
- 自作プログラムによる計算です。
- 将来の日時は閏秒ズレが予測できないため近似値となります。
- 単双判定の欄で「単春年」という言葉は「双春年」に対して便宜上作った言葉です。この記事内のみの表現ですのでご留意ください。
参考:
日出没・暦関連の記事(ブログ内)
2025年のうるう秒調整はなくなりました ― 2025/01/07
国際地球回転・基準系事業(IERS/INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE)から1月6日UT付け(発表は7日夜JST)に「2025年7月1日(同年6月末UT)のうるう秒挿入はない」と発表がありました(→>IERS News:2025年1月6日UT付けBULLETIN-C69)。これにより、少なくとも今年いっぱいUTC-TAI = -37秒が維持されることになりました。最後のうるう秒挿入(2017年1月8:59:60JST)から今年の正月で丸8年。来年までうるう秒はありませんので、9年間うるう秒無しは確定。観測史上最長を再々更新です。
左図は2017年のうるう秒挿入直後を原点として、1日ごとのLOD(Length of Day:1日の実測長)差分値を足してゆき(水色線)、正確な時を刻む原子時計に対して自然に基づく時計がどれだけズレているか(緑線)を表したグラフ。(※測定データは昨年12月1日までを利用。)また右下図は、LODと24時間=86400秒との差の日々の値(薄青線)、および31日移動平均(赤線)をグラフ化したもの。一昨年までは一日が24時間より少ない傾向が強かったですが、去年はプラスに転じる時期が長くなりました。当面は多少の変動はあれど「ほぼ24時間」という期間が続くのかも知れません。
一方で昨年7月5日に「観測史上最短の一日」という記録も出ています。2022年6月29日の記録更新時には「史上最短日」などというニュースを国内外問わず結構見かけたけれど、昨年の記録更新の際はマイナス1.65ミリ秒という大幅更新にも関わらず報道を全く見かけませんでした。人間が慣れてしまったのかな?ネットを検索しても2022年の件しか出てきません。wiki「Leap second(閏秒)」の項も2022年の記録のまま更新されていませんね(2025.1.7.現在)。
右グラフの範囲内だけ見ると、移動平均の赤グラフは去年からマイナス側へ引き戻されている傾向も感じます。24時間より短い日が2021-2022年並に戻ると、再び史上初の「閏秒削除」という話になるでしょう。1日あたり1ミリ秒という小さな世界でも1000日続けば1秒になるんです。現在のように急速な温暖化が進めば南極や北極の氷が溶け、海が赤道付近に多く集まり、海底との摩擦が大きくなり、自転を遅くする要因となる…といった主旨の研究も進んでいます。
世界規模で2035年までに閏秒という仕組みを無くすことは既に決定されています(廃止に関する議論は国立天文台・暦Wikiにある解説を参照)。それまでに閏秒挿入/削除が起こるかどうか、見守りたいと思います。
参考:
日出没・暦関連の記事(ブログ内)
左図は2017年のうるう秒挿入直後を原点として、1日ごとのLOD(Length of Day:1日の実測長)差分値を足してゆき(水色線)、正確な時を刻む原子時計に対して自然に基づく時計がどれだけズレているか(緑線)を表したグラフ。(※測定データは昨年12月1日までを利用。)また右下図は、LODと24時間=86400秒との差の日々の値(薄青線)、および31日移動平均(赤線)をグラフ化したもの。一昨年までは一日が24時間より少ない傾向が強かったですが、去年はプラスに転じる時期が長くなりました。当面は多少の変動はあれど「ほぼ24時間」という期間が続くのかも知れません。
一方で昨年7月5日に「観測史上最短の一日」という記録も出ています。2022年6月29日の記録更新時には「史上最短日」などというニュースを国内外問わず結構見かけたけれど、昨年の記録更新の際はマイナス1.65ミリ秒という大幅更新にも関わらず報道を全く見かけませんでした。人間が慣れてしまったのかな?ネットを検索しても2022年の件しか出てきません。wiki「Leap second(閏秒)」の項も2022年の記録のまま更新されていませんね(2025.1.7.現在)。
右グラフの範囲内だけ見ると、移動平均の赤グラフは去年からマイナス側へ引き戻されている傾向も感じます。24時間より短い日が2021-2022年並に戻ると、再び史上初の「閏秒削除」という話になるでしょう。1日あたり1ミリ秒という小さな世界でも1000日続けば1秒になるんです。現在のように急速な温暖化が進めば南極や北極の氷が溶け、海が赤道付近に多く集まり、海底との摩擦が大きくなり、自転を遅くする要因となる…といった主旨の研究も進んでいます。
世界規模で2035年までに閏秒という仕組みを無くすことは既に決定されています(廃止に関する議論は国立天文台・暦Wikiにある解説を参照)。それまでに閏秒挿入/削除が起こるかどうか、見守りたいと思います。
参考:
日出没・暦関連の記事(ブログ内)
2025年の初日の出・初日の入りマップ ― 2024/12/31
2024年も暑い一年でした。「情熱がたぎる」ほうの“熱い”なら大いに結構なのだけれど、気温の暑さは避けようも無く、気力と体力と電力を奪い取ってゆきますね。来年はどうなってしまうのでしょうか。
2025年の初日の出と初日の入りを計算し、同時曲線として地図に起こしました。自作プログラムによる計算で、標準大気の大気差まで考慮してありますが、標高は考慮していません。地図内時刻はJST表記です。この時期は日本全土の夜明けが1.5時間程度で済んでしまうのに対して、暮れるのに2.5時間もかかり、両者に大きな差があります。弓形の国土に対する同時曲線の傾きや進行方向の違いに注目してください。
計算しているうちに前日との違いが気になったので、2024年12月31日の日の出入りも地図化しました(下A・B図)。「初日(はつひ)」の対義語…つまりその年最後の日の出入りの呼び方がよく分からなかったので、ここでは「末日(まつひ)」と言うことにしました。「終日」は意味が違うし「大晦日」はお日さまのニュアンスを含んでいませんからね。一年最後の太陽を何と呼ぶのかご存知の方がいらっしゃったらお教えください。
12月31日と翌1月1日の日の出入りを比べると興味深いことが分かります。ぱっと考えて「同じように一日ぶんずれる」と考えがちだけれど、ズレ量は日の出と日の入りとで異なるんです。元日ごろは冬至後であり、既に日没時刻が伸び始めています(→12月2日記事参照)。対して日の出はまだまだ遅くなってる最中で、1月上旬から中旬にかけて折り返し点を迎えます。
地図同士を比べると、日の出の同時曲線はほとんど一緒の位置ですが、日の入りは屋久島一個ぶんくらい北東にずれています。同じ地点で考えると、日の出は大晦日と元日とでほぼ同じ(10秒程度の差)だけれど、日の入りは1日当たり1分程度ずつ早まっているんです。よほど博識な方でも無い限り、こんなこと言われないと気付かないでしょう。私たちが頭に構築してる一日の経過って、案外勘違いしてることが多いかも知れませんよ。
参考:
日出没・暦関連の記事(ブログ内)
2025年の初日の出と初日の入りを計算し、同時曲線として地図に起こしました。自作プログラムによる計算で、標準大気の大気差まで考慮してありますが、標高は考慮していません。地図内時刻はJST表記です。この時期は日本全土の夜明けが1.5時間程度で済んでしまうのに対して、暮れるのに2.5時間もかかり、両者に大きな差があります。弓形の国土に対する同時曲線の傾きや進行方向の違いに注目してください。
計算しているうちに前日との違いが気になったので、2024年12月31日の日の出入りも地図化しました(下A・B図)。「初日(はつひ)」の対義語…つまりその年最後の日の出入りの呼び方がよく分からなかったので、ここでは「末日(まつひ)」と言うことにしました。「終日」は意味が違うし「大晦日」はお日さまのニュアンスを含んでいませんからね。一年最後の太陽を何と呼ぶのかご存知の方がいらっしゃったらお教えください。
12月31日と翌1月1日の日の出入りを比べると興味深いことが分かります。ぱっと考えて「同じように一日ぶんずれる」と考えがちだけれど、ズレ量は日の出と日の入りとで異なるんです。元日ごろは冬至後であり、既に日没時刻が伸び始めています(→12月2日記事参照)。対して日の出はまだまだ遅くなってる最中で、1月上旬から中旬にかけて折り返し点を迎えます。
地図同士を比べると、日の出の同時曲線はほとんど一緒の位置ですが、日の入りは屋久島一個ぶんくらい北東にずれています。同じ地点で考えると、日の出は大晦日と元日とでほぼ同じ(10秒程度の差)だけれど、日の入りは1日当たり1分程度ずつ早まっているんです。よほど博識な方でも無い限り、こんなこと言われないと気付かないでしょう。私たちが頭に構築してる一日の経過って、案外勘違いしてることが多いかも知れませんよ。
参考:
日出没・暦関連の記事(ブログ内)





















