Pixel(像素)作为长度和面积单位的讨论
Pixel is a unit of length and area
在衡量二维数字图片的大小时,单位 pixel(像素)的使用方式有些奇怪且存在重载。有时,它被用作线性长度的单位——例如,动画的每一帧是 1920 pixels 宽和 1080 pixels 高。另一些时候,它被用作面积单位——例如,相机传感器具有 12 megapixels(或 12,000,000 pixels)。
从数学的角度,通过量纲分析的视角来看,这些冲突的定义会导致不合逻辑的荒谬结果。考虑到矩形面积的公式是 area = width × height,如果例如我们有 width = 1920 pixel 并且 height = 1080 pixel,那么我们得到 area = 2,073,600 pixel2。没错,将两个线性维度相乘——其中每个维度都具有单位 pixel——会产生一个面积,其单位是平方像素 (square pixel)。这类似于米和平方米的行为方式。
另一方面,如果我们相信实践中像素的常用定义,那么一张 10 pixels 宽和 10 pixels 高的图像具有 100 pixels 的面积,因此 10 pixel × 10 pixel = 100 pixel,从而 100 pixel2 = 100 pixel,最终 pixel2 = pixel,最后 pixel = 1。这意味着 pixel 是一个无量纲的单位,只是 1 的另一个名称,有点像 radian(弧度)是长度除以长度,所以它也等于 1,而 steradian(球面度)是面积除以面积,所以它也等于 1。
我认为没有一种干净的方法可以解决纯粹数学和口语用法之间的这种特殊张力。一种不完善的方法是将 pixel 定义为一个正方形,其物理尺寸取决于所考虑的确切设备或标准,然后将名称 pixel-side 赋予定义像素宽度和高度的线性单位。在这种方法下,我们也可以将 pixel-side 称为 square-root-pixel 或 √pixel(这并非闻所未闻,因为工程学在某些地方使用 √Hz(赫兹的平方根))。我们将不得不忽略不太常见的情况,例如非正方形像素(这在计算机的早期几十年里在图像/视频中经常使用)。
另一种笨拙的方法是坚持认为 pixel 是长度单位,然后我们需要将所有面积实例称为平方像素 (square pixels)——例如,电视监视器可能具有 8 百万平方像素。按照公制规则,前缀只能应用于单位,而不能应用于计算结果——例如,1 百万平方米不是 1 mega-square-metre,而是 1 平方千米。因此,以前以 megapixels 量化的所有内容现在都需要写成一个大数字(例如,8 百万平方像素),或者更尴尬地切换到 square kilopixels,这将同时平方前缀和单位。
总的来说,这不是一个特别严肃的讨论,因为 pixel 不是一个公制单位,而且它很少参与比“每米像素数”或“每秒千兆像素数”更复杂的复合单位和计算。但它确实突出了常用术语是不完善的,并且破坏了科学家在计算中使用物理单位时所期望的规律性。(在计算领域之外,单位定义中存在张力的一个例子是 pound(磅)既被混淆为质量单位又被混淆为力单位。与此同时,公制系统强制要求在千克和牛顿之间进行清晰的分离。)