MIPI CSI-2の基礎とパケット構成を理解する

MIPI CSI-2は、イメージセンサーからSoCへ画像データを高速・低消費電力で伝送するための代表的なカメラインターフェースです。
本記事では、まず「MIPI/CSI-2が何か」を押さえたうえで、フレーム/ラインがどのようにパケットへ落ちるのか、そしてパケットフォーマット(Data IDやWC、ECC/Checksum)を順に理解できる構成で整理します。
目次
MIPI CSIとは何か
MIPI CSI-2を学ぶ第一歩として、MIPIにおけるCSI(Camera Serial Interface)の位置づけと、何を解決するための規格かを確認します。
MIPIはMobile Industry Processor Interfaceの略で、主に機器内部でSoCと周辺部品をつなぐためのインターフェース群です。外部端子として露出するUSBやHDMIと違い、製品の中に隠れるため一般には見えにくい一方、モバイルや組込みでは事実上の標準になっています。
その中でCSIはカメラ向けの規格で、イメージセンサーが生成する膨大な画素データを、できるだけ少ない配線と低い消費電力でSoCへ届けることを目的にしています。映像は連続ストリームであり、帯域が大きく、遅延やノイズにも弱いため、単に速いだけではなく安定して運べる仕組みが必要です。
実務では「MIPI CSI」と言うと、多くの場合はプロトコルとしてのCSI-2に加え、実際に信号が流れる物理層(D-PHYやC-PHY)まで含めた一式を指します。仕様書やICのデータシートでも用語の指す範囲が混ざりやすいので、以降は階層を分けて理解するのが近道です。
MIPI規格の全体像(物理層・プロトコル・パケット)
MIPIはPHY・プロトコル・パケットなど複数の階層の仕様群で構成されるため、CSI-2がどの層を定義しているのかを整理します。
MIPIの理解でつまずきやすい点は、同じ「MIPI」と言っても複数の層の仕様があり、役割が違うことです。大きく分けると、信号の出し方を決める物理層(PHY)、フレームやデータ種別をどう運ぶかを決めるプロトコル(CSI-2)、さらにその中身をパケットとしてどう構成するか、という階層に分けられます。
PHYは配線・電気特性・遷移モードなどを扱い、代表例がD-PHYとC-PHYです。CSI-2はそのPHYの上で動くカメラ用の転送ルールで、フレーム境界やライン境界を示す方法、画像データの種類を識別する方法、エラー検出の仕組みなどを決めます。
現場での重要ポイントは、SoCやセンサーが「CSI-2対応」と書かれていても、対応PHY(D-PHYかC-PHYか、レーン数や最大レート)、対応するCSI-2のバージョンやオプション機能が一致していないと動かないことです。まずは自分が扱う構成が、どの層のどの組み合わせかを明確にしておくと、デバッグが格段に楽になります。
MIPI CSI-2の用途(スマートフォン・組込み・車載)
スマートフォンのカメラだけでなく、組込みビジョンや車載(ADAS等)でも使われる理由を、要求(帯域・距離・EMI・拡張性)の観点から俯瞰します。
スマートフォンでは複数カメラが当たり前になり、高解像度化と高fps化でセンサー出力が急増しました。CSI-2はレーン数やレートをスケールさせやすく、同じ設計思想のまま世代を重ねられるため、部品選定やプラットフォーム展開がしやすいという利点があります。
組込みビジョンでは、カメラ入力をできるだけ低遅延でSoCやFPGAに入れたいニーズが強く、CSI-2は余計なプロトコル変換が少ない点が効きます。USBカメラのようにソフトウェア層が厚くならないため、レイテンシやCPU負荷、電力面で有利になるケースが多いです。
車載では距離・EMI・信頼性が厳しく、用途によってはA-PHYのような長距離伝送と組み合わせて使われます。さらに、カメラが安全機能に直結するため、エラー検出やリンクの堅牢性、規格としての拡張性が重要になり、CSI-2の機能拡張(効率化やエネルギー低減、複数ストリーム管理など)が採用理由になっています。
CSI-2の基本構成(送信側・受信側・レーン)
送信側(センサー/Tx)と受信側(SoC/Rx)、およびレーン(データ/クロック、またはC-PHY)の概念を押さえ、以降のパケット説明の前提を作ります。
CSI-2は基本的に単方向で、送信側(Tx)はイメージセンサーやカメラモジュール、受信側(Rx)はSoCやISPが担当します。送信側はフレームを一定の順序でパケット化して流し、受信側はそれを復元してラインやフレームとして解釈します。
物理的な伝送路はレーンで表現され、D-PHYでは通常クロックレーンと複数のデータレーンを使います。C-PHYでは3線を1組とするような別の表現になりますが、要点は「並列に増やすほど総帯域を増やせる」ことです。
設計・評価で効く実務感としては、同じ解像度でもビット深度やフォーマット、ブランキング、プロトコルのオーバーヘッドで必要帯域が変わるため、レーン数やレーンレートは余裕を見て決める必要があります。また、レーンの配線長やインピーダンス、コネクタ品質が悪いとエラーが増え、パケットの誤り検出が頻発して映像が乱れる原因になります。
お問い合わせ
MIPI CSI-2に関するお問い合わせはこちら
ビデオフレームとラインの流れ
フレームはラインの集合であり、ブランキング区間と有効データ区間がある、という基本的な時間軸の見方を整理します。
ビデオは「フレーム(1枚の画像)」が時間方向に連続するストリームで、フレームは複数のライン(走査線)の集合です。1ラインの中にも、実際の画素が存在する有効期間と、次のラインや次のフレームへ移るためのブランキング期間があり、これが伝送の時間軸の基本になります。
CSI-2では、このフレーム境界・ライン境界を受信側が見失わないことが最重要です。単に画素データだけを流すと、1ビットでも抜けた瞬間に以降の並びが崩れ、どこがライン先頭か分からなくなります。そのため、境界情報を明示する仕組みがプロトコルに組み込まれています。
帯域見積もりの入口としては、概算で解像度(横×縦)とフレームレート、1画素あたりのビット数を掛けてセンサーの純粋なデータ量を出し、そこにブランキングやパケットのヘッダ分を上乗せして見積もります。この「上乗せ分」が意外に効くため、後述するパケット構成を理解しておくと、見積もりの精度が上がります。
MIPI伝送時のパケット構成

CSI-2ではタイミング情報と画像データがパケットとして運ばれるため、ショート/ロングの役割分担を理解します。
CSI-2では、フレームやラインの境界を示す情報と、実際の画像データを「パケット」として運びます。大きくショートパケットとロングパケットに分かれ、何を運ぶかが明確に役割分担されています。
実装目線で重要なのは、受信側はショートパケットを頼りに状態(今は何フレーム目のどのラインか)を更新し、ロングパケットを取り込んで画素として並べる、という処理モデルになることです。つまり、映像の見た目の乱れはロングパケットの欠損だけでなく、境界情報の取り違えでも起きます。
またPHYには低消費電力を意識したモードがあり、必要なときだけ高速で送る設計が基本です。デバッグでは「高速で送っているつもりが、モード遷移や同期の問題で受信側が取りこぼす」ことがあるため、パケットがどのタイミングで流れるかを併せて理解しておくと原因切り分けが速くなります。
ショートパケットとロングパケット
ショートパケットは、Frame Start/EndやLine Start/Endなど、同期や境界を示すためのパケットです。データ量は小さいですが、受信側がフレーム・ラインの区切りを確定するために使うため、ストリームの骨格に相当します。
ロングパケットは、主に有効画像データを運ぶためのパケットで、ストリームの大部分を占めます。画像以外にも、センサーが埋め込むメタデータ(エンベデッドデータ)などをロングパケットとして運ぶ構成もあります。
運用上は、高速伝送が必要な区間ではHSで連続してパケットを流し、待ち時間や省電力が重要な区間はLP側に落とす、といった使い分けが行われます。受信側の初期化やリンク立ち上げでは、モード遷移とパケット境界の取り扱いが不安定要因になりやすいので、まずはショートが期待通りに観測できるかを確認するのが定石です。
パケットフォーマットの全体像
CSI-2のショート/ロングパケットがどのフィールドで構成され、どこで誤り検出/訂正を行うのかを俯瞰図として整理します。
CSI-2のパケットは「ヘッダで何を送るかを宣言し、必要なら長さを示し、最後にエラー検出情報を付ける」という典型的な構造です。ショートとロングでデータ部の意味は違いますが、どちらも識別子を持ち、受信側はそれを見て解釈を切り替えます。
ロングパケットは、ヘッダでデータ種別を示し、Word Countでデータ部のバイト数を指定し、データ本体の後ろにChecksumが付きます。ショートパケットは短いデータフィールドを持ち、同様にヘッダ部に対するECCが付いて信頼性を確保します。
プロ視点のポイントは、誤り対策が二段構えになっていることです。ヘッダが壊れると「何のデータか」「何バイトか」を誤解し、復元不能な崩れ方をします。一方データ部の誤りは画質劣化やライン欠けとして見えやすいので、ヘッダとデータで役割を分けて守る設計になっています。
Data ID(仮想チャネルとデータタイプ)
Data IDは、そのパケットが何を運んでいるかを示す識別子で、Virtual Channel(VC)とData Typeから構成されます。受信側はまずData IDを見て、どの論理ストリームに属するパケットか、内容をどう解釈すべきかを決めます。
VCは、物理的には同じリンク上であっても論理的にストリームを分けるための仕組みです。例えば複数カメラや、同一センサーから出る別系統データ(画像と統計情報など)を分離して扱いたいとき、VCでラベル付けすると受信側の処理が整理しやすくなります。
Data Typeは、同期情報なのか、RAWやYUVなどの画像フォーマットなのか、といった内容の種類を表します。ここを取り違えると、同じバイト列でも画素としての並び方が変わってしまうため、ドライバー設定とセンサー設定が一致しているかの確認点として最重要です。
ショート/ロングで異なるData IDの扱い
Data ID自体はショートパケットとロングパケットの両方に存在しますが、Data Typeが意味する内容はパケット種別で大きく異なります。ショートパケットでは、Frame Start/EndやLine Start/Endといった同期に関する種類を表し、ストリームの区切りを定義します。
ロングパケットでは、Data Typeは主に画像データのフォーマットを表します。RAWやRGB、YUVなど、受信側が1画素を何ビットとして復元するか、並びをどう解釈するかに直結します。
デバッグの実践では、映像が出ない・色がおかしい・ラインがずれるといった症状を、まず「同期の誤解釈(ショートの問題)」「フォーマットの誤解釈(ロングのData Typeの問題)」「長さや取り込みサイズの不整合(WCの問題)」に切り分けると、調査が構造化できます。
WC(Word Count)
WC(Word Count)はロングパケットに含まれる2バイトのフィールドで、データ部が何バイトあるかを示します。受信側はWCを頼りに「このパケットはここまでがデータ」と判断し、後続のChecksum位置も決めます。
1ラインあたりのバイト数は、横方向ピクセル数と1画素あたりのビット数、パッキング方式で決まります。例えばRAW10のように1画素がちょうど1バイトに収まらない形式では、複数画素をまとめて詰めるため、計算を間違えるとWCと実データの整合が取れず、受信側がずれて壊れたように見えます。
帯域見積もりの入口としてもWCは有用です。ロングパケットのデータ量を具体的に把握できるため、必要なレーン数やレーンレートの検討、さらにはブランキングやオーバーヘッド込みの実効帯域評価につなげられます。
Short Packet Data Field(16bit)
ショートパケットには固有の16bitデータ領域があり、ここに補助情報が入ります。重要なのは、この16bitが常に同じ意味を持つのではなく、Data Typeによって解釈が切り替わる点です。
代表例として、Frame Start/Endではフレーム番号、Line Start/Endではライン番号を格納するといった使われ方があります。受信側が連番を追えると、欠落や重複を検出しやすくなり、単なる画面乱れではなく「どこで取りこぼしたか」を特定する材料になります。
実装では、このフィールドを使う/使わないが機器や構成で異なります。仕様上存在していても、センサー側が固定値を入れる場合もあるため、トレースで確認する際は「値が意味を持つ前提で設計されているか」を先に押さえると誤解が減ります。
お問い合わせ
MIPI CSI-2に関するお問い合わせはこちら
ECCとChecksumの役割
ECCは主にパケットのヘッダ部を保護し、軽微なビット誤りであれば訂正し、一定以上の誤りは検出できるようにする仕組みです。ヘッダが壊れるとData IDやWCの解釈が崩れ、受信側がパケット境界を見失うため、最優先で守られる設計になっています。
Checksumはロングパケットのデータ部を対象とした誤り検出で、画素データのビット化けを検出する目的で使われます。データ部は量が大きく、全ビットを強力に訂正するより、検出して上位で対処する設計の方が現実的、という割り切りが見えます。
エラーハンドリングの観点では、ECCエラーはストリーム構造そのものが危ういサインで、リンク品質や信号品質を疑う優先度が高いです。Checksumエラーは局所的なデータ破損として現れることが多く、発生頻度や条件(温度、ケーブル、レーンレート、EMI環境)を見て、マージン不足か偶発かを判断するのが実務的です。
CSI-2の主要機能とバージョン差分
CSI-2は後方互換を保ちつつ機能拡張されているため、実装・評価時に効く代表機能と、世代による注目差分を概観します。
CSI-2は基本構造を保ったまま機能が拡張されており、デバイス間の互換性を保ちつつ最新の要求に追従できるようになっています。そのため「どのバージョン同士で、どの機能を使うか」を意識しないと、仕様上は可能でも実機では未対応ということが起きます。
代表的な考え方として、複数ストリームの取り扱い(仮想チャネルの活用)や、伝送効率・遅延の改善、特定用途(常時オン、イベントベースセンサー、圧縮など)を想定した拡張が進んでいます。これらは帯域削減や消費電力低減に直結するため、スマートフォンだけでなく組込み・車載で価値が上がっています。
評価時は、SoC側IPの対応範囲がボトルネックになりやすいです。センサーが新機能を持っていても、受信側が受けられなければ結局オフにするしかありません。データシート上の「CSI-2対応」だけで判断せず、対応バージョン、VC数、対応Data Type、エラー動作、PHYの世代もセットで確認することが重要です。
実装時によくある論点(帯域・レーン数・EMI)
仕様理解だけでは詰まりやすい、帯域見積もり、必要レーン数、EMI/信号品質などの実務論点をチェックリスト的に整理します。
帯域は「画素数×fps×ビット深度」だけでなく、パッキング効率、ブランキング、パケットヘッダやフッタ、さらにモード遷移やガード時間のようなPHY側のオーバーヘッドも効きます。見積もりが甘いと、平均的には動くが高温や長配線で破綻する、といった再現性の低い不具合につながりやすいです。
レーン数とレーンレートの決め方は、単に最大値に寄せるのではなく、信号品質とEMIの両立がポイントです。高レートで少レーンにすると配線は減りますが、アイマージンが厳しくなり、放射やクロストークも増えがちです。逆にレーンを増やしてレートを下げるとEMIやマージンは稼げますが、基板配線やコネクタが難しくなります。
EMI・信号品質の実務では、配線長差、リターンパス、インピーダンス管理、コネクタやフレキの品質が効きます。エラーが出たときは、まずECC/Checksumのどちらが増えているか、どのレーンで増えるか、レーンレートや終端条件を変えると改善するか、という順で当たりを付けると、闇雲に疑う範囲を狭められます。
MIPI CSIの仕様書・参考リソースの入手先
公式仕様・CTS・関連ホワイトペーパーなど、一次情報に当たるための導線(会員サイト/公開資料/周辺資料)をまとめます。
CSI-2の一次情報はMIPI Allianceの公式仕様です。仕様書は基本的に会員向けに提供されるため、業務で設計・評価を行う場合は、所属企業として会員になって参照できる体制を作るのが確実です。
適合性試験の観点では、CTS(Conformance Test Suite)が重要です。送信側・受信側それぞれに試験項目が用意され、相互接続性の担保や、実装差による曖昧さを減らす助けになります。可能なら、評価段階でCTS相当の観点(異常系、エラー注入、境界条件)を先に組み込むと手戻りが減ります。
補助資料としては、PHY(D-PHY/C-PHY/A-PHY)の資料、PPIなどの実装インターフェース説明、ウェビナーやホワイトペーパーが役に立ちます。加えて、SoCベンダーの受信IPガイドや、センサーのアプリケーションノートは「仕様上はこうだが、このデバイスはこう振る舞う」という差分の宝庫なので、公式仕様とセットで読むと理解が深まります。
まとめ
CSI-2の位置づけから、ショート/ロングパケット、Data ID/WC/ECC/Checksumまでを一連の流れとして振り返り、次に学ぶべきポイントを整理します。
MIPI CSI-2は、センサーの画像ストリームを少ない配線で高速・低消費電力に運ぶための、実務で最も重要なカメラインターフェースの一つです。MIPIという大枠の中で、PHYとプロトコル(CSI-2)を分けて捉えると、仕様書やデータシートの読み違いが減ります。
映像はフレームとラインの時間軸で流れ、CSI-2ではその境界をショートパケットで、実際の画像データをロングパケットで運びます。さらにパケットの中では、Data IDが内容と論理ストリームを識別し、WCがロングパケットのデータ長を規定し、ECCとChecksumがヘッダとデータを役割分担して保護します。
次の学習としては、扱うPHY(D-PHY/C-PHY)のモード遷移と信号品質、画像フォーマットごとのパッキングとWC計算、そして仮想チャネルを使ったマルチストリーム設計を押さえると、設計・デバッグの再現性が一段上がります。
お問い合わせ
MIPI CSI-2に関するお問い合わせはこちら